为了账号安全,请及时绑定邮箱和手机立即绑定

js将后台返回的小数转换成百分比,直接*100的操作有误?

js将后台返回的小数转换成百分比,直接*100的操作有误?

杨魅力 2019-02-02 22:20:51
问题描述需要使用js将后台返回的小数转换成百分比,我当时是直接在js里将这个数值*100,但是结果却有问题。如图:我试过0.48显示没有问题,但是0.55以及之后的数值却有问题,如图:求问,我该怎么让这些数值正常显示。
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

计算机编程语言里浮点数计算会存在精度丢失问题(或称舍入误差),其根本原因是二进制和实现位数限制有些数无法有限表示
以下是十进制小数对应的二进制表示

   0.1 >> 0.0001 1001 1001 1001…(1001无限循环)
   0.2 >> 0.0011 0011 0011 0011…(0011无限循环)

计算机里每种数据类型的存储是一个有限宽度,比如 JavaScript 使用 64 位存储数字类型,因此超出的会舍去。舍去的部分就是精度丢失的部分。

一般将其换成对应的整数在进行运算。


查看完整回答
反对 回复 2019-02-02
  • 1 回答
  • 0 关注
  • 1370 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信