TRANSFORMAR VIRGULA EM PONTO EM CALCULOS
seguinte, estou a dois dias tentando converter virgula em ponto no calculo, ja tentei varia maneiras e nada, como sou novato, gostaria de uma explicação de onde estou errando, segue abaixo os comandos;
Private Sub calculo()
Dim Advalorem, Pedagio, Outros, Tx_EmissaoCT As Single
Dim AliquotaICMS As Single
Dim Frete, VLNF, CalAdv, TotalServicos, VlICMS, GERAL As Single
VLNF = Single.Parse(txtValorNF.Text)
Frete = Single.Parse(txtFrete.Text)
Pedagio = Single.Parse(txtPedagio.Text)
Advalorem = Single.Parse(cboAdvalorem.Text)
Tx_EmissaoCT = Single.Parse(txtTXEmissaoCTe.Text)
Outros = Single.Parse(txtOutrosValores.Text)
AliquotaICMS = Single.Parse(cboAliquota_do_ICMS.Text)
txtValorNF.Text = VLNF.ToString([Ô]##0.00[Ô])
CalAdv = (VLNF * Advalorem) / 100
txtResAdv.Text = CalAdv.ToString([Ô]##0.00[Ô])
TotalServicos = Frete + CalAdv + Pedagio + Tx_EmissaoCT + Outros [ô] Calcula o total dos serviços cobrados
VlICMS = (TotalServicos * AliquotaICMS) / 100 [ô] Calcula o Valor do ICMS
GERAL = VlICMS + TotalServicos [ô] Total Geral
txtValor_da_BC_do_ICMS.Text = TotalServicos.ToString([Ô]##0.00[Ô])
txtValor_do_ICMS.Text = VlICMS.ToString([Ô]##0.00[Ô])
txtValor_Total_da_Prestacao_de_Servico.Text = GERAL.ToString([Ô]##0.00[Ô])
txtValor_a_Receber.Text = GERAL.ToString([Ô]##0.00[Ô])
lblValor.Text = GERAL.ToString([Ô]R$ ###,##0.00[Ô]) [ô] LABEL
txtFrete.Text = Frete.ToString([Ô]##0.00[Ô])
End Sub
ja tentei assim tembem, porem converte, mas se clico em calcular 2x o ponto some
txtValor_do_ICMS.Text = VlICMS.ToString.Replace([Ô],[Ô], [Ô].[Ô])
Alguém me ajuda por favor
Troque essa linha
lblValor.Text = GERAL.ToString([Ô]R$ ###,##0.00[Ô]) [ô] LABEL
Por essa
lblValor.Text = Replace(Replace(GERAL, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô])
ADHEL,
meu problema maior é os outros comandos ex:
lblValor.Text = Replace(Replace(GERAL, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô])
nem é o meu problema, pois ela só esta ali para mostrar para o usuário o valor que irá receber naquele frete (uma coisa mais visivel.rs)meu problema maior é os outros comandos ex:
Frete = Single.Parse(txtFrete.Text)
eu consegui, porem qdo clico em calcular novamente os pontos somem
Caro JULIOBERTOSO
Este exemplo para formatação dos valores apresentado na forma do calculo.
Bboa Sorte
Este exemplo para formatação dos valores apresentado na forma do calculo.
Bboa Sorte
Ah Bom
Entendi errado
Explica o porquê, você precisa dessa alteração?
Entendi errado
Explica o porquê, você precisa dessa alteração?
Amigo, abaixo código que uso
Coloque o função trocaVporPt em todos os dados que queira troca.
Function trocaVporPt(ByVal sEntrada As Object) As String
sEntrada = Replace(sEntrada, [Ô].[Ô], [Ô][Ô])
sEntrada = Replace(sEntrada, [Ô],[Ô], [Ô].[Ô])
trocaVpotPt = sEntrada
End Function
[ô]Para chamar
trocaVporPt (DADOS)
Coloque o função trocaVporPt em todos os dados que queira troca.
ADHEL, eu preciso substituir as virgulas por ponto, pq eu exporto este dados para txt pq uso outro aplicativo para validar os CT-e (Conhecimento de Transporte Eletrônico) Ex: valores do tipo R$ 1.000,000 dá erro e o outro aplicativo não aceitas, o único formato que ele aceita é 1000.00 (sem virgulas e ponto só para separar as duas casas decimais)
AJOSO - um exemplo muito bom, porem eu consegui fazer isso no meu aplicativos, mas não pretendo usar o valor no formato R$ 1.000,00 e sim no formato 1000.00
valeu muito palas respostas, mas será que podem me ajudar desta maneira
AJOSO - um exemplo muito bom, porem eu consegui fazer isso no meu aplicativos, mas não pretendo usar o valor no formato R$ 1.000,00 e sim no formato 1000.00
valeu muito palas respostas, mas será que podem me ajudar desta maneira
Citação::
ADHEL, eu preciso substituir as virgulas por ponto, pq eu exporto este dados para txt pq uso outro aplicativo para validar os CT-e (Conhecimento de Transporte Eletrônico) Ex: valores do tipo R$ 1.000,000 dá erro e o outro aplicativo não aceitas, o único formato que ele aceita é 1000.00 (sem virgulas e ponto só para separar as duas casas decimais)
Os campos não há necessidade de alterá-los na sub calculo e sim na hora de gerar o arquivo txt.
Um pequeno exemplo,coloque os valores nos textbox e teste com isso
Sub Gerar_TXT()
Dim salvarComo As SaveFileDialog = New SaveFileDialog()
Dim caminho As DialogResult
Dim fluxoTexto As IO.StreamWriter
Dim Arquivo As String
salvarComo.CheckFileExists = False
salvarComo.Title = [Ô]Arquivos Textos |*.txt |[Ô]
salvarComo.Filter = [Ô]Arquivos Textos |*.txt[Ô]
salvarComo.FileName = [Ô]Teste[Ô]
caminho = salvarComo.ShowDialog
Arquivo = salvarComo.FileName
If Arquivo = Nothing Then
MessageBox.Show([Ô]Arquivo Invalido[Ô], [Ô]Salvar Como[Ô], MessageBoxButtons.OK)
Else
fluxoTexto = New IO.StreamWriter(Arquivo)
Using writer As New StreamWriter(caminho)
fluxoTexto.WriteLine([Ô]|[Ô] & Replace(Replace(txtFrete.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô] & Replace(Replace(txtOutrosValores.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô] & Replace(Replace(txtPedagio.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô] & Replace(Replace(txtResAdv.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô] & Replace(Replace(txtTXEmissaoCTe.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô] & Replace(Replace(txtValor_a_Receber.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô] & Replace(Replace(txtTXEmissaoCTe.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô] & Replace(Replace(txtValor_a_Receber.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô] & Replace(Replace(txtValor_da_BC_do_ICMS.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô] & Replace(Replace(txtValorNF.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) & [Ô]|[Ô])
fluxoTexto.Close()
End Using
End If
JESUEL OLIVEIRA, eu entendi o propósito porem não entendi com se aplica, não ficou claro pra mim
ADHEL - este é o comando que uso para exportar para TXT - o caminho eu indico nas propriedades do SaveFileDialog1 em filter [Ô]Arquivos de Texto(*.txt)|.txt[Ô]
alterei somente a linha frete para
Amigo, abaixo código que uso
Function trocaVporPt(ByVal sEntrada As Object) As String
sEntrada = Replace(sEntrada, [Ô].[Ô], [Ô][Ô])
sEntrada = Replace(sEntrada, [Ô],[Ô], [Ô].[Ô])
trocaVpotPt = sEntrada
End Function
[ô]Para chamar
trocaVporPt (DADOS)
ADHEL - este é o comando que uso para exportar para TXT - o caminho eu indico nas propriedades do SaveFileDialog1 em filter [Ô]Arquivos de Texto(*.txt)|.txt[Ô]
Private Sub btoGerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btoGerar.Click
Me.Update()
cboDataHora.Text = Format(Date.Now, [Ô]yyyy-MM-dd[Ô])
HoraEmissaoComboBox.Text = Format(TimeOfDay)
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName = [Ô]000[Ô] Then
Exit Sub
End If
Dim Caminho As String = SaveFileDialog1.FileName
Try
Dim strm As New StreamWriter(Caminho)
Try
strm.WriteLine(String.Format([Ô]REGISTROSCTE|1[Ô]))
strm.WriteLine(String.Format([Ô]CTE|1.04||[Ô]))
strm.WriteLine(String.Format([Ô]IDE|35||{0}|{1}|1|{2}|{3}|{4}|{5}T{6}|1|1||1|0|3|1.2.0||{7}|{8}|01|0|{9}|{10}|{11}|{12}|1||||[Ô], cboCFOP.Text, cboNatOperacao.Text, cboModelo.Text, txtSerie.Text, txtNumeroCTE.Text, cboDataHora.Text, HoraEmissaoComboBox.Text, cboMunicipios1.Text, CboUF1.Text, cboMunicipios2.Text, CboUF2.Text, cboMunicipios3.Text, CboUF3.Text))
strm.WriteLine(String.Format([Ô]TOMA03|{0}|[Ô], cboTPServ.Text))
strm.WriteLine(String.Format([Ô]COMPL|||||||[Ô]))
strm.WriteLine(String.Format([Ô]FLUXO||||[Ô]))
strm.WriteLine(String.Format([Ô]EMIT|{0}|{1}|{2}||{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|[Ô], txtE_CNPJ.Text, txtE_IE.Text, txtE_Razão_Social.Text, txtE_Logradouro.Text, txtE_Numero.Text, txtE_Complemento.Text, txtE_Bairro.Text, CboMunicipiosEmi1.Text, txtE_CEP.Text, CboUFEmi1.Text, txtE_Telefone.Text))
strm.WriteLine(String.Format([Ô]REM|{0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|{11}|1058|{12}||[Ô], txtR_CNPJ.Text, cboR_ISENTO.Text, txtR_IE.Text, txtR_RAZAOSOC.Text, txtR_NFANTASIA.Text, txtR_LOGRADOURO.Text, txtR_NUMBER.Text, txtR_COMPLEMENT.Text, txtR_BAIRRO.Text, CboMunicipiosRem1.Text, txtR_CEP.Text, CboUFRem1.Text, cboR_PAIS.Text))
strm.WriteLine(String.Format([Ô]INFOUTROS|99||{0}|{1}-{2}-{3}|{4}|[Ô], NFTextBox.Text, cboNFAno.Text, cboNFMes.Text, cboNFDia.Text, txtValorNF.Text))
strm.WriteLine(String.Format([Ô]DEST|{0}|{1}|{2}|{3}||{4}|{5}|{6}|{7}|{8}|{9}|{10}|1058|{11}|{12}|[Ô], txtD_CNPJ.Text, cboD_Isento.Text, txtD_IE.Text, txtD_RazaoSoc.Text, txtD_Logradouro.Text, txtD_Numero.Text, txtD_Complemento.Text, txtD_Bairro.Text, CboMunicipiosDest1.Text, txtD_CEP.Text, CboUFDest1.Text, cboD_Pais.Text, txtD_Telefone.Text))
strm.WriteLine(String.Format([Ô]VPREST|{0}|{1}|[Ô], txtValor_Total_da_Prestacao_de_Servico.Text, txtValor_a_Receber.Text))
strm.WriteLine(String.Format([Ô]COMP|FRETE|{0}|[Ô], txtFrete.Text))
strm.WriteLine(String.Format([Ô]COMP|ADVALOREM|{0}|[Ô], txtResAdv.Text))
strm.WriteLine(String.Format([Ô]COMP|PEDAGIO|{0}|[Ô], txtPedagio.Text))
strm.WriteLine(String.Format([Ô]IMP||[Ô]))
strm.WriteLine(String.Format([Ô]ICMS00|{0}|{1}|{2}|{3}|[Ô], cboTributacaoICMS.Text, txtValor_da_BC_do_ICMS.Text, cboAliquota_do_ICMS.Text, txtValor_do_ICMS.Text))
strm.WriteLine(String.Format([Ô]INFCTENORM|[Ô]))
strm.WriteLine(String.Format([Ô]INFCARGA|{0}|{1}|{2}|[Ô], txtValor_da_Carga.Text, txtProduto_Predominante.Text, txtOutras_Caracteristicas_do_Produto.Text))
strm.WriteLine(String.Format([Ô]INFQ|00|{0}|{1}|[Ô], Tipo_de_MedidaComboBox.Text, txtQuantidade_de_Carga.Text))
strm.WriteLine(String.Format([Ô]INFMODAL|1.04|[Ô]))
strm.WriteLine(String.Format([Ô]RODO|{0}|{1}-{2}-{3}|0||[Ô], ComboBox1.Text, cboPEAno.Text, cboPEMes.Text, cboPEDia.Text))
MessageBox.Show([Ô]Gravado com Sucesso![Ô])
Finally
strm.Close()
End Try
Catch
MessageBox.Show([Ô]Erro ao salvar, ou Foi cancelado pelo usuario![Ô], [Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
alterei somente a linha frete para
strm.WriteLine(String.Format([Ô]COMP|FRETE|{0}|[Ô], Replace(Replace(txtFrete.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô])))
mas da erro
Poste a mensagem do erro.
Olá,
Vou usar uma parte do seu código
Veja ai, viu que coloquei o trocaVporPt(txtValorNF.text)
pode ter vário que quando o código passar nesta linha ele irá pegar o return da função.
Vou usar uma parte do seu código
O Seu
strm.WriteLine(String.Format([Ô]INFOUTROS|99||{0}|{1}-{2}-{3}|{4}|[Ô], NFTextBox.Text, cboNFAno.Text, cboNFMes.Text, cboNFDia.Text, txtValorNF.Text))
O meu
strm.WriteLine(String.Format([Ô]INFOUTROS|99||{0}|{1}-{2}-{3}|{4}|[Ô], NFTextBox.Text, cboNFAno.Text, cboNFMes.Text, cboNFDia.Text,
[txt-size=2]trocaVporPt([/txt-size]txtValorNF.Text[txt-size=2])[/txt-size]))
Veja ai, viu que coloquei o trocaVporPt(txtValorNF.text)
pode ter vário que quando o código passar nesta linha ele irá pegar o return da função.
Tópico encerrado , respostas não são mais permitidas