Pregunta: | 62509 - DUDA SOBRE COMPORTAMIENTO DE DOUBLES Y SINGLES |
Autor: | Martín Andrade Rentería |
tengo un grid donde se vacían cantidades con decimales, el programa suma estas cantidades de una columna, pero en un momento ciertos números provocan que se aumenten decimales de más, mis cantidades son de solo 2 dígitos decimales por lo que se me hace extraño que el resultado tenga 5 decimales, para reproducir este comportamiento se puede usar el siguiente código:
'Empieza-> Dim i As Integer Dim total As Single Dim values(28) As String values(0) = "4.3" values(1) = "0.01" values(2) = "0.01" For i = 0 To 2 total = total + Val(Format(values(i))) Next MsgBox total '<-termina |
Respuesta: | Carlos Arias |
Bueno la opcion seria que redondeares el total que daria de la siguiente manera:
Dim i As Integer Dim total As Single Dim values(28) As String values(0) = 4.3 values(1) = 0.01 values(2) = 0.01 For i = 0 To 2 total = total + values(i) Next MsgBox Round(total, 2) |