Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
SELECT CASE e.DataCol.Name
CASE "生产数量","额定产量"
Dim dcl As Double
dcl=(e.DataRow("生产数量")/e.DataRow("额定产量"))*100
e.DataRow("达成率")=Round(dcl,3)
End Select
四舍五入dcl,到3位小数是否这么写?Round(dcl,3)
Round
将值舍入到最接近的整数或指定的小数位数。
语法:
Round(Value, Digits)
Value: 数值
Digits: 要保留的小数位数。
例如:
Output.Show(Math.Round(
3.44, 1)) '显示3.4可以看到Round函数不是严格的四舍五入,而是“四舍六入五成双”,意思是小于五的舍掉,大于五进位,如果等于五,则比较上一位,如果上一位是奇数,则进位,如果是偶数,则舍除,这样等于五的时候,结果始终等于最接近的偶(双)数,也就是成双。
如果你要严格地四舍五入,可以参考下面的代码:
Dim
Digits As Integer = 2 '要保留的小数位数,根据需要修改Round
将值舍入到最接近的整数或指定的小数位数。
语法:
Round(Value, Digits)
Value: 数值
Digits: 要保留的小数位数。
例如:
Output.Show(Math.Round(
3.44, 1)) '显示3.4可以看到Round函数不是严格的四舍五入,而是“四舍六入五成双”,意思是小于五的舍掉,大于五进位,如果等于五,则比较上一位,如果上一位是奇数,则进位,如果是偶数,则舍除,这样等于五的时候,结果始终等于最接近的偶(双)数,也就是成双。
如果你要严格地四舍五入,可以参考下面的代码:
Dim
Digits As Integer = 2 '要保留的小数位数,根据需要修改我就是按这个写的,呵呵,
就是不明白math,
说明怎么不这么写:
Math.Round(Value, Digits)
说明就是这么写的:math.round
看例子就明白