首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决这个模数运算不准确的javascript问题?

如何解决这个模数运算不准确的javascript问题?
EN

Stack Overflow用户
提问于 2020-02-03 04:30:46
回答 2查看 84关注 0票数 0

有办法解决这个问题吗?我在控制台上试过,结果是错误的,但从技术上讲,结果是正确的。

在控制台上进行实验:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-03 04:48:29

在C和C++中,余数运算符只接受积分操作数;在ECMAScript中,它也接受浮点操作数。ECMA标准

由%运算符计算的浮点余数运算的结果与IEEE 754-2008定义的“剩余”操作不同。

IEEE 754-2008“余数”操作计算的余数来自舍入除法,而不是截断除法,因此它的行为与通常的整数余数运算符的行为不类似。

代码语言:javascript
复制
console.log(Math.floor(1%0.01)===0)

相反,ECMAScript语言定义了浮点操作的%,以类似于Java整数余数操作符的方式运行;这可以与C库函数fmod进行比较。

票数 1
EN

Stack Overflow用户

发布于 2020-02-03 04:42:27

使用Math.floor()

代码语言:javascript
复制
console.log(Math.floor(1%0.01)===0)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60033107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档