免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 2075|回复: 6
收起左侧

[其他] 求助解决问题:使用微软office的Excel进行取整运算,当尾数是双数时,会发生结果错误

[复制链接]

14

主题

1890

铜板

4

好友

助理工程师

Rank: 5Rank: 5

积分
185
发表于 2017-8-21 14:46 | 显示全部楼层 |阅读模式
使用微软office的Excel进行取整运算,当尾数是双数时,会发生结果错误。
  如: 双数时          =INT((23.36-INT(23.36))*100)=35,正确结果应为36。
         单数时           =INT((23.35-INT(23.35))*100)=35,结果正确。
  不知错误原因,救助解决。

141

主题

982万

铜板

3万

好友

管理员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
621916
发表于 2017-8-21 15:01 | 显示全部楼层
请论坛各位高手回答下楼主的提问,会奖励相应的铜板和威望的哦!
回复 支持 反对

使用道具 举报

5

主题

1万

铜板

16

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
1162

爱心勋章灌水勋章荣誉会员勋章活跃勋章贡献勋章

发表于 2017-8-21 16:46 | 显示全部楼层
这是excel浮点运算与计算机浮点数据储存导致的结果
与round嵌套一下或者是先乘后减可以解决这个问题
回复 支持 反对

使用道具 举报

437

主题

7万

铜板

767

好友

版主

看帖回帖

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
17070

精华勋章宣传勋章爱心勋章组织勋章优秀斑主地信元老灌水勋章荣誉会员勋章活跃勋章官方团队地信专家组VIP勋章贡献勋章名人堂勋章成就学员勋章10周年纪念勋章

发表于 2017-8-21 21:47 | 显示全部楼层
浮点运算造成的误差,计算机运算方法造成的先天不足,无法从根本上解决问题,只能用套入四舍五入函数。比如=INT(ROUND(23.36-INT(23.36),2)*100)
道德常常能弥补智慧的缺陷,智慧却永远填补不了道德的空白。
回复 支持 反对

使用道具 举报

3

主题

2146

铜板

1

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
876
发表于 2020-11-17 09:15 | 显示全部楼层
学习学习谢谢楼主
回复 支持 反对

使用道具 举报

0

主题

641

铜板

1

好友

助理工程师

Rank: 5Rank: 5

积分
398
发表于 2021-2-2 10:30 | 显示全部楼层
谢谢分享  收藏了
回复 支持 反对

使用道具 举报

2

主题

1万

铜板

7

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6419
发表于 2023-1-29 11:12 | 显示全部楼层
由地信高手回答
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表