美文网首页php知识积累程序员
js浮点数运算不准确

js浮点数运算不准确

作者: hey_沙子 | 来源:发表于2018-03-22 11:22 被阅读7次

JavaScript的计算结果:

// 加法 =====================
// 0.1 + 0.2 = 0.30000000000000004
// 0.7 + 0.1 = 0.7999999999999999
// 0.2 + 0.4 = 0.6000000000000001
// 2.22 + 0.1 = 2.3200000000000003

// 减法 =====================
// 1.5 - 1.2 = 0.30000000000000004
// 0.3 - 0.2 = 0.09999999999999998

// 乘法 =====================
// 19.9 * 100 = 1989.9999999999998
// 19.9 * 10 * 10 = 1990
// 1306377.64 * 100 = 130637763.99999999
// 1306377.64 * 10 * 10 = 130637763.99999999
// 0.7 * 180 = 125.99999999999999
// 9.7 * 100 = 969.9999999999999
// 39.7 * 100 = 3970.0000000000005

// 除法 =====================
// 0.3 / 0.1 = 2.9999999999999996
// 0.69 / 10 = 0.06899999999999999

结合我的需求,两个数字作运算,得到的是整数,则输出整数,小数1位则保留一位,小数两位及以上均保留两位,我作出以下调整:

js:
shengPrice=shengPrice.toFixed(2);//强转为两位
if(shengPrice.substr(shengPrice.length-1,1)=="0"){//若小数点最后一位是0 则去掉1.00~1.0 ,1,20~1.2
     shengPrice= shengPrice.substring(0,shengPrice.length-1);
}
php
/ * 整数的显示整数,有小数点价格有一位显示一位,有两位显示两位小数点,最多显示两位。
 * @return type
 */
public function getFloatLength($num) {
    $count = 0;
    $temp = explode ( '.', $num );
    if (sizeof ( $temp ) > 1) {
    $decimal = end ( $temp );
    $count = strlen ( $decimal );
    }
    if($count>2){
        $num=number_format($num, 2, '.', '');
    }
    return $num;
}

相关文章

  • Javascript 盲点

    1.javestript 中所有的数字都是浮点型 js在浮点数运算时会出现多位小数的不准确结果,浮点数运算的误差。...

  • js浮点数运算不准确

    JavaScript的计算结果: // 加法 =====================// 0.1 + 0.2 ...

  • 解决js浮点数运算不准确的函数

    针对:js在浮点数运算时会出现多位小数的不准确结果 乘法运算函数 原理:给两个数计算小数点后边的位数和M,在清除小...

  • js浮点数运算问题---莫名出现多位小数

    问题:js浮点数运算问题---莫名出现多位小数 // 原因:这是由于在运算的时候先把浮点数转化成二进制后进行运算,...

  • JS浮点数运算处理

    一. 问题描述 最近在做一个项目,页面上会存在一些JS浮点数的运算,发现JS浮点数运算存在一些bug.譬如: 0...

  • js浮点数运算问题--莫名出现多位小数

    问题:js浮点数运算时,莫名出现多位小数 原因:这是由于在运算的时候先把浮点数转化成二进制后进行运算,但是有的小数...

  • javascript运算精度

    一个经典的浮点数运算0.1+0.2 ==0.30000000000000004 js在运算的时候会把10进制转化为...

  • 浮点数计算中的精度丢失

    1 js浮点数运算精度丢失 如果你用过js计算浮点数你肯定会遇到过下面这种情况:(我的小学白读了吗==。) (其...

  • js浮点运算

    前言 在项目开发过程中发现浮点数的运算会出现精度问题,尤其是乘除运算。产生浮点数计算精度不准确的原因: 在计算机角...

  • js浮点数运算

    https://github.com/nefe/number-precision 阿里大佬封装好的浮点数运算直接拿去用

网友评论

    本文标题:js浮点数运算不准确

    本文链接:https://www.haomeiwen.com/subject/mxaoqftx.html