PROBLEMAS PARA REALIZAR CONTAS!

USUARIO.EXCLUIDOS 12/12/2006 11:52:43
#189493
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!
USUARIO.EXCLUIDOS 12/12/2006 12:20:05
#189495
cara, ponto é so pra milhar... o certo é voce colocar virgula

mas se vc quizer da pra trocar a virgula por ponto!


Label1 = Replace(result, ",", ".")


posta ae qualquer duvida, espero ter ajudado

abraços



RSMJD 12/12/2006 14:52:48
#189523
é, 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
MOISES.ARAUJO 12/12/2006 15:06:03
#189526
eu faço asimm,
r= format(cdbl(2,70),"#,##0.00")*format(cdbl(3),"#,##0.00")
msgbox "o resultado é" & " - "& r

USUARIO.EXCLUIDOS 12/12/2006 15:08:20
#189528


Faça a conta desta forma

TextResultado = Cdbl(Valor1) * Cdbl(Valor2) - deve resolver

Qq coisa volta ae!!

Boa sorte


USUARIO.EXCLUIDOS 12/12/2006 16:57:59
#189554
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:

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+
F.A.S 12/12/2006 18:54:37
#189579
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.
RODRIGOGBGOMES 13/12/2006 09:42:23
#189643
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)
USUARIO.EXCLUIDOS 13/12/2006 10:32:09
#189654
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:
 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!!!

USUARIO.EXCLUIDOS 13/12/2006 11:00:43
#189670
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