以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教四舍五入的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153392) |
-- 作者:18871608810 -- 发布时间:2020/8/10 9:16:00 -- 请教四舍五入的问题 我想保留2位小数,真实的四舍五入,使用ROUND2()函数,有一小部分的数据,第三位小数是五的没有“入”,例如:19.275,ROUND2(19.275,2)结果是19.27,不是19.28,请教这个问题怎么解决,目前已使用过Convert函数,ROUND,ROUND2,只有ROUND2是最接近四舍五入的,但是还是有例外情况,请教怎么解决? |
-- 作者:有点蓝 -- 发布时间:2020/8/10 9:19:00 -- 论坛里搜素“四舍五入”后很多解决方法,如: http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=139967&replyID=&skin=1 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=139174&skin=0
|
-- 作者:18871608810 -- 发布时间:2020/8/10 16:43:00 -- 感谢,希望以后Foxtable能出一个真正的四舍五入函数 |
-- 作者:有点蓝 -- 发布时间:2020/8/10 16:53:00 -- 四舍六入五成双是合理的。 不同的用法自己做个函数处理就行了 |
-- 作者:绿火柴 -- 发布时间:2020/8/10 21:31:00 -- 蓝版,这样子不合理.. 那为什么excel中,SQL中都是可以显示成19.28呢. 使用同样的.round函数 不过使用帮助中的例子,也是可以接受的. 以下是帮助中的例子: 如何实现四舍五入 表达式并没有提供传统的四舍五入函数Round,我们只能用Convert函数来间接实现。 例如金额列原来的计算公式为: [数量] * [单价] * (1 - [折扣]) 为了保留两位小数,可以将公式改为: Convert([数量] * [单价] * (1 - [折扣]) * 100, \'System.Int64\') / 100 原理很简单:将计算结果乘以100,然后取整,最后除以100。 如果你要保留三位小数,将表达式中的100改为1000即可,其余类推。 [此贴子已经被作者于2020/8/10 21:36:42编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/8/10 21:53:00 -- 合理不合理不是我定义的:https://www.baidu.com/baidu?word=四舍六入五成双 |