Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, venho aqui pra tirar uma duvida com voces... é o seguinte
meu sistema tem 2 SUBTOTAIS e 1 TOTAL GERAL
ai eu uso essa formula:
USO 3 VARIAVEIS DO TIPO DOUBLE
as variaveis sao: subtotal1, subtotal2 e totalgeral
txtBox.Text = txtBox.Text + subtotal1.ToString("#,##0.00")
txtBox.Text = txtBox.Text + subtotal2.ToString("#,##0.00")
totalgeral = subtotal1 + subtotal2;
txtBox.Text = txtBox.Text + geraltotal.ToString("#,##0.00")
usando no meu PC, que é Windows XP só que esta com o Vista PAck Transformation
o resultado do Textbox aparece assim: (exemplo) 370,00 = 370 reais... usando essa formula ("#,##0.00")
mais la no computador onde vai ficar o sistema é windows XP e o resultado sai assim:
37,000.00 ... porque isso? o valor deveria sair: 370,00
e se caso eu tiro a função ("#,##0.00") e deixo somente: ("") o resultado fica assim: 37000 e não 370 , ele adiciona os 2 zeros de qualquer maneira.
obg!!
cara, mesmo eu usando o String.Format e fazendo como voce disse ai... o valor que era pra sair R$ 370,00 , saiu assim: R$ 37,000.00
como disse... os dois '0' sai no final sempre, mesmo se eu pedi-se para o programa fazer o valor sair somente: 370, ele sai: 37000
o problema não é no Windows la? la é Windows XP Prof, SP3...
o problema é la, afinal, no meu PC o resultado aparece normal, e no notebook o resultado também aparece normal, e em outros computadores com Windows XP o resultado também aparece normal... só no computador da loja que sai dois '0' no final...
OBS: ele tinha um outro programa la de 'CUPOM FISCAL' e eu notei que no programa ele fez uma conta la e deu o resultado: 788.00
naquele programa também saiu .00 e não só o valor de : 788, saiu assim: 788.00
e então... o que pode ser ?
Se o problema esta só em determinas máquinas, provavelmente é algo relacionado a cultura e linguagem da máquina. Sua aplicação tem essa configuração definida como no web.config?
Abraços...
problema resolvido, no Program.cs do meu programa eu coloquei esse codigo
CultureInfo newCulture = new CultureInfo("pt-BR");
Thread.CurrentThread.CurrentCulture = newCulture;
OBS: Antes dos codigos que irá execultar o programa
ou seja, sempre que o programa for execultado, a linguagem da aplicações sera em pt BR...
obg!!
Como eu disse, =D
Mas.... tem uma forma melhor de fazer isso sem ser via código, pode colocar no arquivo de config, faça uma pesquisa.
Abraços...
então, eu preferi deixar no programa isso, porque ele tem outros programas la e pelo o que eu vi os programas usam linguagem english, então deixei só minha aplicação em pt-BR pra não dar nenhuma cagada la... mesmo assim obrigado! :D
gostei do novo design do forum :)
Use decimal ao invés de double.
Faça assim: