TRANSFORMAR VIRGULA EM PONTO EM CALCULOS

JULIOBERTOSO 01/02/2013 17:22:32
#418600


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
ADHEL 01/02/2013 19:41:01
#418613
Resposta escolhida

Troque essa linha
  lblValor.Text = GERAL.ToString([Ô]R$ ###,##0.00[Ô]) [ô] LABEL  

Por essa
  lblValor.Text = Replace(Replace(GERAL, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]) 
JULIOBERTOSO 01/02/2013 21:01:45
#418614
ADHEL,

    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
AJSO 01/02/2013 21:08:39
#418615
Caro JULIOBERTOSO

Este exemplo para formatação dos valores apresentado na forma do calculo.

Bboa Sorte
ADHEL 01/02/2013 21:08:51
#418616
Ah Bom
Entendi errado
Explica o porquê, você precisa dessa alteração?
JESUEL.OLIVEIRA 01/02/2013 21:31:05
#418617
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)



Coloque o função trocaVporPt em todos os dados que queira troca.
JULIOBERTOSO 01/02/2013 21:41:33
#418618
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
ADHEL 01/02/2013 22:03:13
#418619
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
JULIOBERTOSO 01/02/2013 23:04:12
#418621
JESUEL OLIVEIRA, eu entendi o propósito porem não entendi com se aplica, não ficou claro pra mim


  
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

ADHEL 01/02/2013 23:12:13
#418622
Poste a mensagem do erro.
JESUEL.OLIVEIRA 02/02/2013 20:21:00
#418649
Olá,

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.
Página 1 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas