以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 四舍五入 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=5688) |
-- 作者:lihe60 -- 发布时间:2009/12/29 10:00:00 -- 四舍五入 Convert([数量] * [单价] * (1 - [折扣]) * 100, \'System.Int64\') / 100 |
-- 作者:lihe60 -- 发布时间:2009/12/29 10:01:00 -- 四舍五入,很重要。 |
-- 作者:狐狸爸爸 -- 发布时间:2009/12/29 10:05:00 -- 当然能用的。 |
-- 作者:i52117 -- 发布时间:2009/12/29 10:13:00 -- 如何实现四舍五入 表达式并没有提供传统的四舍五入函数Round,我们只能用Convert函数来间接实现。 例如金额列原来的计算公式为: [数量] * [单价] * (1 - [折扣]) 为了保留两位小数,可以将公式改为: Convert([数量] * [单价] * (1 - [折扣]) * 100, \'System.Int64\') / 100 原理很简单:将计算结果乘以100,然后取整,最后除以100。 如果你要保留三位小数,将表达式中的100改为1000即可,其余类推。 |
-- 作者:lihe60 -- 发布时间:2009/12/29 10:17:00 -- Convert([数量] * [单价] * (1 - [折扣]) * 100, \'System.Int64\') / 100 这个代码写不到datacolchanged事件中去的。 |
-- 作者:狐狸爸爸 -- 发布时间:2009/12/29 10:21:00 -- 代码是代码,表达式是表达式,各有自己的语法和函数,岂能混用? |
-- 作者:lihe60 -- 发布时间:2009/12/29 10:43:00 -- round用起来比较复杂,能不能简单点,如round(val,2)这样的格式。 |
-- 作者:狐狸爸爸 -- 发布时间:2009/12/29 10:53:00 -- round复杂? 这样的代码还复杂: Math.Round(4.567,2) [此贴子已经被作者于2009-12-29 10:53:36编辑过]
|