登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
VIP网盘
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
关于 JS 浮点数精度问题导致保留两位小数后进行四舍五入 ...
关于 JS 浮点数精度问题导致保留两位小数后进行四舍五入不符合预期
[ 复制链接 ]
锷稠
2025-7-15 14:00:05
工作中遇到类似如下代码段:
[/code]以上代码很简单,就是把一个数字保留 2 位小数,并且进行四舍五入后输出。预期输出 9.91 ,但实际输出 9.90 。
[size=4]导致以上问题的主要原因[/size]
JavaScript 使用 IEEE 754 双精度浮点数格式存储数字,IEEE 754 在二进制中无法精确表示大多数十进制小数。
例如,9.905 的二进制表示是 无限循环小数,因此在双精度浮点数中只能存储一个近似值。实际上,JavaScript 将 9.905 存储为:9.90499999999999964472863211994758968353271484375
[size=4]解决方案[/size]
[b]解决方案 1:[/b] 使用高精度库(推荐)
引入专门处理高精度计算的库(如 Decimal.js 或 Big.js),
示例代码:
[code]
复制代码
解决方案 2:
使用Math函数
[code][/code]
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关于
JS
点数
精度
问题
相关帖子
Node.js环境和antd初始化项目
拜占庭将军问题困境
原型链继承问题相关
P5574 [CmdOI2019] 任务分配问题
Js 中 迭代器 与 生成器
关于 01 背包问题的简单解释,理解状态转移与继承的相似性
在Next.js中集成swagger文档
首页屏蔽访客js代码
屏蔽PC端的JS框架
Redis 介绍与 Node.js 使用教程
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
Node.js环境和antd初始化项目
0
781
致掣
2025-08-25
安全
拜占庭将军问题困境
0
232
赖秀竹
2025-08-26
业界
原型链继承问题相关
0
947
钦遭聘
2025-08-26
业界
P5574 [CmdOI2019] 任务分配问题
0
575
屠焘
2025-08-30
安全
Js 中 迭代器 与 生成器
0
310
骆贵
2025-08-31
业界
关于 01 背包问题的简单解释,理解状态转移与继承的相似性
0
390
烯八
2025-09-01
业界
在Next.js中集成swagger文档
0
758
鸠站
2025-09-01
软件
首页屏蔽访客js代码
0
31
新程序
2025-09-03
程序
屏蔽PC端的JS框架
0
23
新程序
2025-09-04
业界
Redis 介绍与 Node.js 使用教程
0
188
嗣伐
2025-09-05
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
科技
软件
安全
签约作者
程序园优秀签约作者
发帖
锷稠
2025-7-15 14:00:05
关注
0
粉丝关注
10
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
黎瑞芝
9990
杭环
9988
4
凶契帽
9988
5
氛疵
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多