NUMERO QUEBRADO
existe alguma maneira de fazer o VB trabalhar com . (ponto) ao inves de , (virgula) quando for trabalhar com valor quebrado... por exemplo
[txt-size=5]4 / 2 seja igual a 0.5 e nao 0,5[/txt-size]
valeu
[txt-size=5]4 / 2 seja igual a 0.5 e nao 0,5[/txt-size]
valeu
existe sim kra:
declara isso, pode ser no form mesmo:
Function virgulapraponto(valor As Variant)
'Esta função muda todas as virgulas que forem encontradas nos pontos(X,Y ou Z) e substitui por ".", para não atrapalhar no gerador do desenho
v = Format(valor, "#0.0")
If Right(v, 2) = ".0" Then
Else
X = InStr(1, v, ",")
If X <> 0 Then
Mid(v, X, 1) = "."
End If
End If
virgulapraponto = v
End Function
chamar:
virgulapraponto(numero)
exemplo:
text1.text = "29,99"
text1.text = virgulapraponto(text1.text)
o text1.text ficara como: "29.99"
declara isso, pode ser no form mesmo:
Function virgulapraponto(valor As Variant)
'Esta função muda todas as virgulas que forem encontradas nos pontos(X,Y ou Z) e substitui por ".", para não atrapalhar no gerador do desenho
v = Format(valor, "#0.0")
If Right(v, 2) = ".0" Then
Else
X = InStr(1, v, ",")
If X <> 0 Then
Mid(v, X, 1) = "."
End If
End If
virgulapraponto = v
End Function
chamar:
virgulapraponto(numero)
exemplo:
text1.text = "29,99"
text1.text = virgulapraponto(text1.text)
o text1.text ficara como: "29.99"
é 2 / 4 k é = 0,5
tambem podes fazer assim, parece-me mais simples
valor = 2 / 4
numero_de_caracteres = Len(valor) ' vê numero de caracteres
For i = 1 To numero_de_caracteres
caracter = Left(valor, i) ' vê o(s) caracter(es) da esquerda consuante o contador
caracter = Right(caracter, 1) ' vê o ultimo caracter
If caracter = "," Then caracter = "." ' troca virgula por ponto
novo_valor = novo_valor & caracter ' soma o carater ao novo valor
Next i
Label1.Caption = novo_valor 'mostrar o novo valor
tambem podes fazer assim, parece-me mais simples
valor = 2 / 4
numero_de_caracteres = Len(valor) ' vê numero de caracteres
For i = 1 To numero_de_caracteres
caracter = Left(valor, i) ' vê o(s) caracter(es) da esquerda consuante o contador
caracter = Right(caracter, 1) ' vê o ultimo caracter
If caracter = "," Then caracter = "." ' troca virgula por ponto
novo_valor = novo_valor & caracter ' soma o carater ao novo valor
Next i
Label1.Caption = novo_valor 'mostrar o novo valor
Simplificando você pode usar a instrução replace
Até mais.
Um forte abraço.
'Replace(String,Valor Procurado, Valor a Substituir)
vResult = 4/2
vResult = Replace(vResult,",",".")
Msgbox vResult
Até mais.
Um forte abraço.
bom, o problema é, quando vc fizer o replace, ele vai deixar o numero em formato string, e vai estragar sua função.
porem, se vc quer arrumar o seu problema dos pontos e virgulas, vai nas propriedades do seu MICRO, e altera configuraçoes regionais, no campo numeros, para o delimitador "." onde tá virgula...
senão, vc não conseguira arrumar isso
porem, se vc quer arrumar o seu problema dos pontos e virgulas, vai nas propriedades do seu MICRO, e altera configuraçoes regionais, no campo numeros, para o delimitador "." onde tá virgula...
senão, vc não conseguira arrumar isso
Tópico encerrado , respostas não são mais permitidas