码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 为什么 0.1+0.2 不等于 0.3


    为什么 0.1+0.2 不等于 0.3
    在 JavaScript 中,0.1 + 0.2 的结果不等于 0.3,这是因为在 JavaScript 中采用的是双精度浮点数格式(64 位),而在这种格式下无法精确表示某些小数,因此在进行计算时会出现精度误差。

    具体来说,0.1 和 0.2 都是无限循环小数,无法用二进制精确地表示。在 JavaScript 中,这些小数会被转换成最接近它们的可表示值,然后再进行计算。因此,0.1 和 0.2 被转换成的值可能会存在精度误差,导致它们的和不等于 0.3。

    下面的代码演示了这个问题:

    console.log(0.1 + 0.2);   // 0.30000000000000004
    console.log(0.1 + 0.2 === 0.3);   // false
    
    • 1
    • 2

    为了避免这个问题,通常可以采用以下两种方法:

    1. 将小数转换成整数,进行计算后再转换回小数。例如,可以将小数乘以 10 的几次方,将它们变成整数,进行计算后再除以相应的倍数,转换回小数。
    console.log((0.1 * 10 + 0.2 * 10) / 10);   // 0.3
    
    • 1
    1. 使用第三方库,例如 Decimal.js、big.js 等,这些库提供了更高精度的计算方法,可以避免浮点数计算时的精度误差。
    // 使用 Decimal.js 进行计算
    const Decimal = require('decimal.js');
    console.log(new Decimal('0.1').plus('0.2').equals('0.3'));   // true
    
    • 1
    • 2
    • 3
  • 相关阅读:
    机车整备场数字孪生 | 图扑智慧铁路
    基于CU,PO,RD,IPO矩阵图分析数据资产-自创
    【HTML/CSS学习】margin和padding的区别
    神奇代码恢复工具
    joblib嵌套式并行运行方式
    【Mysql专题】视图介绍及其基本操作
    Centos系统安装Yapi(传统方式安装)
    Python AI 之Stable-Diffusion-WebUI
    SpringBoot学习笔记(项目创建,yaml,多环境开发,整合mybatis SMM)
    node的服务端对接科大讯飞-火星ai解决方案
  • 原文地址:https://blog.csdn.net/weixin_44309299/article/details/133357179
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号