表达式并没有提供传统的四舍五入函数Round,我们只能用Convert函数来间接实现。
例如金额列原来的计算公式为:
[数量] * [单价] * (1 - [折扣])
为了保留两位小数,可以将公式改为:
Convert([数量] * [单价] * (1 - [折扣]) * 100, 'System.Int64') / 100
原理很简单:将计算结果乘以100,然后取整,最后除以100。
如果你要保留三位小数,将表达式中的100改为1000即可,其余类推。
为什么我的机器,输入 Convert(0.005*100, 'System.Int64') / 100
显示的结果 是 0
Convert(0.006*100, 'System.Int64') / 100
显示的结果才是0.01