Round(334.5,0)
result: 334
用什么方法才能得到335的结果呢。
6 个解决方案
#1
Round(a+0.5,0)
#2
Notes帮助里面说是最后一位如果是5的话,那么前面一位就会舍入到最近的偶数,所以如果不是特别要求的话,可以在最后一位后面再加一个1,也就是334.51,这样结果就是对的了。
#3
Round ( numExpr , places )
numExpr:
Any numeric expression. The number to be rounded.
places:
Any numeric expression representing the desired number of decimal places. If places is not an integer, it is converted to one.
Return value:
Round returns a Double.
If the first non-significant digit is 5, and all subsequent digits are 0, the last significant digit is rounded to the nearest even digit.
Print Round(4.35, 1) ' Prints 4.4
Print Round(4.45, 1) ' Prints 4.4
避免这样的情况,加0.5
numExpr:
Any numeric expression. The number to be rounded.
places:
Any numeric expression representing the desired number of decimal places. If places is not an integer, it is converted to one.
Return value:
Round returns a Double.
If the first non-significant digit is 5, and all subsequent digits are 0, the last significant digit is rounded to the nearest even digit.
Print Round(4.35, 1) ' Prints 4.4
Print Round(4.45, 1) ' Prints 4.4
避免这样的情况,加0.5
#4
目前遇到的输入值情况是可能是整数,可能是不定位数的小数,
所以加0.5的方法只能适用于小数值>0.5的情况,如果遇到像 23.3 这种就不适用了
所以加0.5的方法只能适用于小数值>0.5的情况,如果遇到像 23.3 这种就不适用了
#5
末尾+1 这个办法不错。唯一的问题是输入值小数位不定,也可能是整数。不太清楚有什么方法可以方便的在最后加一位1的小数,目前采用了下面的笨办法,还是解决了~~
If( Int(InputValue) < (InputValue)) Then
result = Round(Str(InputValue)&"1", 0)
Else
result = InputValue
End If
#6
那就 加0.999999咯
Round(a+0.999999,0)
#1
Round(a+0.5,0)
#2
Notes帮助里面说是最后一位如果是5的话,那么前面一位就会舍入到最近的偶数,所以如果不是特别要求的话,可以在最后一位后面再加一个1,也就是334.51,这样结果就是对的了。
#3
Round ( numExpr , places )
numExpr:
Any numeric expression. The number to be rounded.
places:
Any numeric expression representing the desired number of decimal places. If places is not an integer, it is converted to one.
Return value:
Round returns a Double.
If the first non-significant digit is 5, and all subsequent digits are 0, the last significant digit is rounded to the nearest even digit.
Print Round(4.35, 1) ' Prints 4.4
Print Round(4.45, 1) ' Prints 4.4
避免这样的情况,加0.5
numExpr:
Any numeric expression. The number to be rounded.
places:
Any numeric expression representing the desired number of decimal places. If places is not an integer, it is converted to one.
Return value:
Round returns a Double.
If the first non-significant digit is 5, and all subsequent digits are 0, the last significant digit is rounded to the nearest even digit.
Print Round(4.35, 1) ' Prints 4.4
Print Round(4.45, 1) ' Prints 4.4
避免这样的情况,加0.5
#4
目前遇到的输入值情况是可能是整数,可能是不定位数的小数,
所以加0.5的方法只能适用于小数值>0.5的情况,如果遇到像 23.3 这种就不适用了
所以加0.5的方法只能适用于小数值>0.5的情况,如果遇到像 23.3 这种就不适用了
#5
末尾+1 这个办法不错。唯一的问题是输入值小数位不定,也可能是整数。不太清楚有什么方法可以方便的在最后加一位1的小数,目前采用了下面的笨办法,还是解决了~~
If( Int(InputValue) < (InputValue)) Then
result = Round(Str(InputValue)&"1", 0)
Else
result = InputValue
End If
#6
那就 加0.999999咯
Round(a+0.999999,0)