Foxtable(狐表)用户栏目专家坐堂 → 保留一位小数,结果不理解


  共有3377人关注过本帖树形打印复制链接

主题:保留一位小数,结果不理解

帅哥哟,离线,有人找我吗?
foxyuan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:318 积分:2691 威望:0 精华:0 注册:2018/2/3 10:48:00
保留一位小数,结果不理解  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:318 积分:2691 威望:0 精华:0 注册:2018/2/3 10:48:00
  发帖心情 Post By:2020/6/16 14:04:00 [只看该作者]

如果做到I*I1如果刚好一位小数,就保留原值;如果超过1位小数,就去掉后面的进一位?如4980*0.16=796.8,就是796.8;如果是4927*0.16=788.32,就保留788.4?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:466 积分:3382 威望:0 精华:0 注册:2016/12/21 22:58:00
  发帖心情 Post By:2020/6/16 14:31:00 [只看该作者]

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=141578&skin=0

改高精度

 回到顶部
帅哥哟,离线,有人找我吗?
WELOVEFOX
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:466 积分:3382 威望:0 精华:0 注册:2016/12/21 22:58:00
  发帖心情 Post By:2020/6/16 14:32:00 [只看该作者]

图片点击可在新窗口打开查看
[此贴子已经被作者于2020/6/16 14:33:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
foxyuan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:318 积分:2691 威望:0 精华:0 注册:2018/2/3 10:48:00
  发帖心情 Post By:2020/6/16 14:57:00 [只看该作者]

谢谢各位,把列的数据类型改为高精度可以了

 回到顶部