小数点精度的问题--函数封装

小数点精度的问题–函数封装

解决方案
1.加减法可以用参数乘以1000再用结果除以1000。

乘除法可以用参数分别*100进行计算后在除以10000

   2.使用toFixed()方法,效率貌似没有第一种高,这里返回的值一定有两位小数,要么后台用double接收,要么用parseInt()转换为整数parseInt((35.23*100).toFixed(2))。
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        // console.log(.1+.2);

        // console.log(2.14*5);

        // console.log(.3-.1)
        /**
         * floatObj 包含加减乘除四个方法,能确保浮点数运算不丢失精度
         *
         * 我们知道计算机编程语言里浮点数计算会存在精度丢失问题(或称舍入误差),其根本原因是二进制和实现位数限制有些数无法有限表示
         * 以下是十进制小数对应的二进制表示
         *      0.1 >> 0.0001 1001 1001 1001…(1001无限循环)
         *      0.2 >> 0.0011 0011 0011 0011…(0011无限循环)
         * 计算机里每种数据类型的存储是一个有限宽度,比如 JavaScript 使用 64 位存储数字类型,因此超出的会舍去。舍
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值