CALCULO
Olá,
tenho uma aplicação que recebe um arquivo.txt (que não pode ser editado) que contém um valor tipo 009 que preciso utilizar para um calculo simples.
If Text1.Text > Label12.Caption Then
Text2.ForeColor = vbRed
onde text1 já contem o valor 009 e label12 já assumiu seu caption como 10.
o que acontece é que a text2 assume forecolor vermelho, quando não deveria.
A pergunta é , como reduzir as casas decimais do [Ô]009[Ô] para [Ô]9[Ô]? Não quero aumentar casas no [Ô]10[Ô] para ficar [Ô]010[Ô]
Valeu
tenho uma aplicação que recebe um arquivo.txt (que não pode ser editado) que contém um valor tipo 009 que preciso utilizar para um calculo simples.
If Text1.Text > Label12.Caption Then
Text2.ForeColor = vbRed
onde text1 já contem o valor 009 e label12 já assumiu seu caption como 10.
o que acontece é que a text2 assume forecolor vermelho, quando não deveria.
A pergunta é , como reduzir as casas decimais do [Ô]009[Ô] para [Ô]9[Ô]? Não quero aumentar casas no [Ô]10[Ô] para ficar [Ô]010[Ô]
Valeu
Consegui resolver um caso com o [Ô]Round[Ô], mas ainda estou tendo problemas, ainda tem casos em que 10 não é maior que 9.
tem alguma coisa a ver com as casas decimais?
Foi isso que usei em um outro caso.
label1.Caption = Round(label1.Caption, 1)
abraço
tem alguma coisa a ver com as casas decimais?
Foi isso que usei em um outro caso.
label1.Caption = Round(label1.Caption, 1)
abraço
colega a situação é a seguinte, tanto a propriedade text fo textbox como a propriedade caption do label, são strings, o que causa o problema, para contornar use CInt para converter para inteiro ou CDbl para double.
diferenças
cint numeros 1,2,3,4,5...
cdbl numeros 1.01, 2.3, 5.7...ou seja valores fracionados
bom veja como fica seu código
If [txt-color=#0000f0]CInt([/txt-color]Text1.Text[txt-color=#0000f0])[/txt-color] > [txt-color=#0000f0]CInt([/txt-color]Label12.Caption[txt-color=#0000f0])[/txt-color] Then
Text2.ForeColor = vbRed
e pronto seu código irá funcionar, mesmo que vc coloque 10, 010, 000010, ou 009, o cint simplesmente ignora estes zeros
diferenças
cint numeros 1,2,3,4,5...
cdbl numeros 1.01, 2.3, 5.7...ou seja valores fracionados
bom veja como fica seu código
If [txt-color=#0000f0]CInt([/txt-color]Text1.Text[txt-color=#0000f0])[/txt-color] > [txt-color=#0000f0]CInt([/txt-color]Label12.Caption[txt-color=#0000f0])[/txt-color] Then
Text2.ForeColor = vbRed
e pronto seu código irá funcionar, mesmo que vc coloque 10, 010, 000010, ou 009, o cint simplesmente ignora estes zeros
esqueci de explicar a melhor maneira de se trabalhar com cálculos é criando váriaveis, ex:
Dim ValorA As Integer
Dim ValorB As Integer
ValorA = Text1.Text
ValorB = Label12.Caption
If ValorA > ValorB Then
Text1.ForeColor = vbRed
Else
Text1.ForeColor = vbGreen
End If
Agora entendi, muito obrigado.
Abraço.
Abraço.
Não esquece de encerrar colega.
Tópico encerrado , respostas não são mais permitidas