关于JavaSript计算精度丢失的问题.docVIP

  • 9
  • 0
  • 约9.56千字
  • 约 14页
  • 2018-11-02 发布于广东
  • 举报
关于JavaSript计算精度丢失的问题.doc

关于JavaScript中计算精度丢失的问题 由于计算机是用二进制来存储和处理数字,不能精确表示浮点数,而 JavaScript屮没有相应的封装类来处理浮点数运算,直接计算会导致运算精度 丢失。 为了避免产生精度差异,把需要计算的数字升级(乘以10的n次幂)成计 算机能够精确识别的整数,等计算完毕再降级(除以10的n次幂),这是大部分 编程语言处理精度差异的通用方法。 关键词: 计算精度四舍五入四则运算精度丢失 1.疑惑 我们知道,几乎每种编程语言都提供了适合货Tr汁算的类。例如C#提供了 decimal, Java 提供了 BigDecimal,JavaScript 提供了 Number 巾于之前用decimal和BigDecimal用得很好,没有产生过精度问题,所以一直没有怀疑 过JavaScript的Number类型,以为可以直接使用Number类型进行计算。但是直接使用是 有问题的。 我们先看看叫舍五入的如下代码: alert (Number (0. 009). toFixed⑵); alert (Number (162. 295) ? toFixed ⑵); -按正常结果,应该分别弹出0.01和162.30。但实际测试结果却是在不同浏览器中得到 的是不同的结果: 在ie6、7、8下得到0.00和162.30,第一个数截取不正确; 在firefox中得到0.01和16

文档评论(0)

1亿VIP精品文档

相关文档