公证网站建设管理代做淘宝联盟网站

张小明 2026/3/2 18:20:18
公证网站建设管理,代做淘宝联盟网站,网站底部导航设置,wordpress区块链插件引言 在JavaScript开发中#xff0c;我们经常会遇到一些看似简单的数学运算却产生意外结果的情况。例如#xff0c;0.3 - 0.2 ! 0.1 或 2.55.toFixed(1) 返回 2.5 而不是预期的 2.6。这些问题源于JavaScript的数字表示方式——基于IEEE 754标准的双精度浮点数格式。本文将深…引言在JavaScript开发中我们经常会遇到一些看似简单的数学运算却产生意外结果的情况。例如0.3 - 0.2 ! 0.1或2.55.toFixed(1)返回2.5而不是预期的2.6。这些问题源于JavaScript的数字表示方式——基于IEEE 754标准的双精度浮点数格式。本文将深入探讨这些问题的根源并提供实用的解决方案。问题一0.3 - 0.2 ! 0.1问题表现console.log(0.3-0.2);// 输出: 0.09999999999999998console.log(0.3-0.20.1);// 输出: false原因分析JavaScript使用二进制浮点数表示所有数字。然而像0.1、0.2和0.3这样的十进制小数在二进制中是无限循环的无法被精确表示内存中不可能无限存储会进行截取接下来可以看一下这些数据在内存。当进行减法运算时这种不精确性会导致累积误差使得结果与预期不符。0.3.toString(2)// 存储的二进制 0.0100110011001100110011001100110011001100110011001100110.3.toPrecision(20)// toPrecision 用于将数字转换为字符串并根据指定的有效数字位数进行格式化很显然0.3实际存储的要小于0.3// 0.299999999999999988900.1.toString(2)// 存储的二进制 0.00011001100110011001100110011001100110011001100110011010.1.toPrecision(20)// 小于0.1 0.10000000000000000555解决方案1. 使用整数运算对于涉及货币或其他需要精确计算的场景可以将数值转换为整数进行运算// 将数值乘以100转换为整数consta30;// 代表0.30constb20;// 代表0.20constresult(a-b)/100;// 0.10console.log(result0.1);// true2. 四舍五入到固定小数位通过四舍五入来消除微小误差constresultMath.round((0.3-0.2)*100)/100;console.log(result0.1);// true3. 使用第三方库对于复杂的十进制运算可以使用专门的库如decimal.js或big.js// 使用decimal.jsconstDecimalrequire(decimal.js);constresultnewDecimal(0.3).minus(newDecimal(0.2)).equals(newDecimal(0.1));console.log(result);// true问题二2.55.toFixed(1) 是 2.5 而不是 2.6问题表现console.log(1.55.toFixed(1));// 输出: 1.6console.log(2.55.toFixed(1));// 输出: 2.5原因分析toFixed()方法使用银行家舍入规则四舍六入五成双并且由于浮点数精度问题2.55在内部可能被存储为略小于2.55的值导致向下舍入。解决方案1. 自定义舍入函数实现一个更符合直觉的舍入函数functioncustomRound(num,digits){constfactorMath.pow(10,digits);return(Math.round(num*factor)/factor).toFixed(digits);}console.log(customRound(2.55,1));// 2.62. 添加微小增量在调用toFixed之前给数字加上一个极小的值constnum2.55;console.log((numNumber.EPSILON).toFixed(1));// 2.63. 使用Intl.NumberFormat利用国际化API进行格式化constformatternewIntl.NumberFormat(en-US,{minimumFractionDigits:1,maximumFractionDigits:1});console.log(formatter.format(2.55));// 2.6
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

wordpress 主题 图片成都最好的seo外包

EmotiVoice是否具备语音反欺诈检测功能?当前尚无但规划中 在智能语音技术飞速发展的今天,我们已经可以轻松地用几秒钟的音频“复制”一个人的声音,并让AI以他的语气说出任何想说的话。这种能力带来了前所未有的创作自由——虚拟偶像能深情演唱…

张小明 2026/1/12 19:18:47 网站建设

广州网站改版什么软件免费设计logo

还在为百度网盘那蜗牛般的下载速度而苦恼吗?😫 作为Mac用户,你一定经历过重要文件下载到一半却因为限速而陷入漫长等待的窘境。传统的优化方法要么操作复杂,要么存在安全风险,而官方提供的极速下载试用更是转瞬即逝&am…

张小明 2026/1/12 19:16:45 网站建设

电商网站设计原则滁州森沃纸质包装有限公司

第一章:流动性覆盖率(LCR)与金融风险管理流动性覆盖率(Liquidity Coverage Ratio, LCR)是巴塞尔协议III中引入的关键监管指标,旨在衡量金融机构在压力情景下能否依靠高流动性资产满足未来30天的净现金流出。…

张小明 2026/1/12 19:14:43 网站建设

佛山制作网站设计报价珠海华中建设工程有限公司网站

导语 【免费下载链接】Ring-mini-linear-2.0 项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/Ring-mini-linear-2.0 蚂蚁集团百灵团队重磅推出全新开源力作——Ring-mini-linear-2.0混合线性推理模型。该模型巧妙融合稀疏MoE架构与线性注意力机制&#xff0…

张小明 2026/1/12 19:12:42 网站建设

百度点击软件还有用吗郑州网站优化费用

在游戏开发和资源分析领域,Godot引擎的.pck资源包格式常常让开发者感到困扰。这款功能强大的godot-unpacker工具能够轻松处理资源包,让开发者能快速访问游戏内部素材。本文将从零开始,带你掌握完整的解包流程。 【免费下载链接】godot-unpack…

张小明 2026/1/12 19:10:41 网站建设

网站改版注意事项重庆制作网页设计

Llama-Factory 能否训练事实核查模型?Fake News Detection 实战 在社交媒体内容爆炸式增长的今天,一条“喝绿茶能治愈癌症”的短视频可能几分钟内就获得百万播放。这类信息往往披着科学外衣,利用公众对健康的焦虑迅速传播——而识别它们&…

张小明 2026/1/12 19:08:40 网站建设