以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 保留一位小数,结果不理解 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151145) |
-- 作者:foxyuan -- 发布时间:2020/6/16 14:00:00 -- 保留一位小数,结果不理解 Dim i As Double = 4980 Dim i1 As Double = 0.16 Output.Show(Math.Ceiling(i*i1*10)/10) 为什么是796.9,不是796.8呢?
|
-- 作者:foxyuan -- 发布时间:2020/6/16 14:04:00 -- 如果做到I*I1如果刚好一位小数,就保留原值;如果超过1位小数,就去掉后面的进一位?如4980*0.16=796.8,就是796.8;如果是4927*0.16=788.32,就保留788.4? |
-- 作者:有点蓝 -- 发布时间:2020/6/16 14:19:00 -- 计算机精度问题,改为Decimal 即可 Dim i As Decimal = 4980 Dim i1 As Decimal = 0.16 Output.Show(Math.Ceiling(i*i1*10)/10) |
-- 作者:WELOVEFOX -- 发布时间:2020/6/16 14:31:00 -- http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=141578&skin=0 改高精度
|
-- 作者:WELOVEFOX -- 发布时间:2020/6/16 14:32:00 -- [此贴子已经被作者于2020/6/16 14:33:51编辑过]
|
-- 作者:foxyuan -- 发布时间:2020/6/16 14:57:00 -- 谢谢各位,把列的数据类型改为高精度可以了 |