Kr3w^ 0 Report post Posted January 11, 2013 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!! Share this post Link to post Share on other sites
KhaosDoctor 242 Report post Posted January 11, 2013 Use decimal ao invés de double. Faça assim: txtBox.Text = txtBox.Text + String.Format("{0:C}",subtotal1); txtBox.Text = txtBox.Text + String.Format("{0:C}",subtotal2); totalgeral = subtotal1 + subtotal2; txtBox.Text = txtBox.Text + String.Format("{0:C}",geraltotal); Share this post Link to post Share on other sites
Kr3w^ 0 Report post Posted January 14, 2013 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 ? Share this post Link to post Share on other sites
quintelab 91 Report post Posted January 14, 2013 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... Share this post Link to post Share on other sites
Kr3w^ 0 Report post Posted January 14, 2013 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!! Share this post Link to post Share on other sites
quintelab 91 Report post Posted January 15, 2013 Como eu disse, =DMas.... tem uma forma melhor de fazer isso sem ser via código, pode colocar no arquivo de config, faça uma pesquisa.Abraços... Share this post Link to post Share on other sites
Kr3w^ 0 Report post Posted January 15, 2013 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 :) Share this post Link to post Share on other sites