PROBLEMAS PARA REALIZAR CONTAS!
Olá amigos tudo bem? Eu estou desenvolvendo um programa para um hotel e estou com dificuldades de realizar contas! Ex: quando eu cadastro um preço de um produto 2,70 ele vira 3 e se eu cadastro 2.70 ele vira 270 como eu faço pra resolver esse tipo de problema? E quando eu multiplico 2,70 * 3 = 6 agora se eu multiplico 2.70 * 3 = 8,1 ai da certo!
cara, ponto é so pra milhar... o certo é voce colocar virgula
mas se vc quizer da pra trocar a virgula por ponto!
posta ae qualquer duvida, espero ter ajudado
abraços
mas se vc quizer da pra trocar a virgula por ponto!
Label1 = Replace(result, ",", ".")
posta ae qualquer duvida, espero ter ajudado
abraços
é, tente utilizar ponto ao inves de virgula, o VB de Default não reconhece virgula como um separador comum de numeros, bem padrão americano
eu faço asimm,
r= format(cdbl(2,70),"#,##0.00")*format(cdbl(3),"#,##0.00")
msgbox "o resultado é" & " - "& r
r= format(cdbl(2,70),"#,##0.00")*format(cdbl(3),"#,##0.00")
msgbox "o resultado é" & " - "& r
Faça a conta desta forma
TextResultado = Cdbl(Valor1) * Cdbl(Valor2) - deve resolver
Qq coisa volta ae!!
Boa sorte
Cara, depende tb das configurações regionais de seu PC, por exemplo, se vc digitar dentro do VB 2,70 ele irá desprezar a virgula, agora se digitar "2,70" ele considerará a virgula como separador decimal, desde que as configurações do seu SO esteja com a virg. como separador dec...
Ou seja, se for pegar valores de um txt por exemplo, terá que usar com virgula:
Se for dentro do VB, pode usar o ponto:
Qto ao fato dele arredondar ao gravar, poste a forma como vc grava pra eu analisar...T+
Ou seja, se for pegar valores de um txt por exemplo, terá que usar com virgula:
res = Text1 * Text2
Se for dentro do VB, pode usar o ponto:
res = 2.7 * 3
Qto ao fato dele arredondar ao gravar, poste a forma como vc grava pra eu analisar...T+
Se voce estiver usando o Access, na sua Tabela onde contem o preco vc deve ter colocado tipo number - long integer e o correto e number - double. se vc mudar poderar notar que isso ira resolver.
Segue em anexo um exemplo.
Segue em anexo um exemplo.
txtResultado = formatnumber(ccur(text1.text) +ccur(text2.text),2)
onde o ",2" significa o numero de casas decimas depois da virgula
e ccur esta convertando a textbox pra moeda (currency)
onde o ",2" significa o numero de casas decimas depois da virgula
e ccur esta convertando a textbox pra moeda (currency)
Ou se não vc pode fazer o seguinte, um eskema q eu uso eh o seguinte
vc tem la o campo na label1
1º vc joga um replace pra sobstituir a "," por ".", desti modo:
2º vc tbm faz isso com o outro valor por exemplo da label2
3º vc faz a operação de soma, subtração, diovição, multiplicação, ou oq preferir:
4º Feito isso vc vai agora passar do eskema do "." que teve q ser transformado para a "," uma cuisa um pouco mais comum para nos:
bom eh isso, eu sei q todos falaram isso mas eu kis dar uma reforçada pra ajudar um pouco mais, abraço!!!
vc tem la o campo na label1
1º vc joga um replace pra sobstituir a "," por ".", desti modo:
Label1.caption=Replace(label1.caption, ",",".")
2º vc tbm faz isso com o outro valor por exemplo da label2
Label2.caption=Replace(label2.caption, ",",".")
3º vc faz a operação de soma, subtração, diovição, multiplicação, ou oq preferir:
Label3.caption = Val(label1.caption)*Val(label3.caption)
4º Feito isso vc vai agora passar do eskema do "." que teve q ser transformado para a "," uma cuisa um pouco mais comum para nos:
Label3.caption=Replace(label2.caption, ".",",")
bom eh isso, eu sei q todos falaram isso mas eu kis dar uma reforçada pra ajudar um pouco mais, abraço!!!
Citação:VOBARRA escreveu:
Olá amigos tudo bem? Eu estou desenvolvendo um programa para um hotel e estou com dificuldades de realizar contas! Ex: quando eu cadastro um preço de um produto 2,70 ele vira 3 e se eu cadastro 2.70 ele vira 270 como eu faço pra resolver esse tipo de problema? E quando eu multiplico 2,70 * 3 = 6 agora se eu multiplico 2.70 * 3 = 8,1 ai da certo!
Ou tra coisa, esse negocio de vc usar 2,70 e ele vira 3 ou vc usar 2.70 ele vira 270, uma coisa q pode ser eh o tipo do campo q vc colocou no banco de dados, se vc estiver usando banco de dados do Access muda o tipo do campo para texto, q deve estar como numero não?? ou se kiser deixar como numero muda para Numero decimais nas propriedades do campo....
abraço!!!
Tópico encerrado , respostas não são mais permitidas