Skip to content

[js] 第317天 js如何解决数字精度丢失的问题? #1969

Open
@haizhilin2013

Description

@haizhilin2013

第317天 js如何解决数字精度丢失的问题?

作者:一条有梦想的鱼

#80

我也要出题

Activity

tanxer

tanxer commented on Feb 27, 2020

@tanxer

对做运算的两个数字做化整处理(同乘10的n次幂),运算完再降级处理(除10的n次幂)

longhui520

longhui520 commented on Feb 27, 2020

@longhui520
  • 将小数放大一定倍数转成整数后运算,结果再缩小倍数
  • 自定义运算函数
  • 参考文章
forever-z-133

forever-z-133 commented on Feb 28, 2020

@forever-z-133

https://forever-z-133.github.io/demo-preview/#/./pages/function/someFunction?id=-数字计算
这个函数也写过,但也存在幂次方或运算时超出安全数的问题。

另外提一嘴,在翻倍到整数时直接乘也是不稳妥的,
最好乘后还要四舍五入,或转为字符串 replace 掉小数点毕竟稳妥。

NAZBIN

NAZBIN commented on Jun 22, 2020

@NAZBIN

const verifyFunc = (left, right) => {
return Math.abs(left - right) < Number.EPSILON * Math.pow(2, 2);
};

console.log(verifyFunc(0.1 + 0.2, 0.3));

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    jsJavaScript

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @haizhilin2013@forever-z-133@tanxer@NAZBIN@longhui520

        Issue actions

          [js] 第317天 js如何解决数字精度丢失的问题? · Issue #1969 · haizlin/fe-interview