双精度小数如何比较 2019-01-23

一 常规比较

let n = 0;

while(true){

    n += 0.1;

    if(n === 0.3 ) break;

    console.log(`This is ${n}`);

}

console.log(`stopped at ${n}`);

会无限循环下去

二、改进

let n = 0;

while(true){

    n += 0.1;

    if(Math.abs(n - 0.3) < Number.EPSILON) break;//利用内置的极小数来判断 首先求绝对值,相减与极小值比较即可

    console.log(`This is ${n}`);

}

console.log(`stopped at ${n} ${Number.EPSILON}`);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容