• JavaScript中浮点数的保留小数位数的问题


    方法一

    简介:如题! 繁琐版。。。

    代码如下:

    var significantFigure= function(value,figure){
                    var arr=(value+'').split('.');//将拿到的值转换成字符串 然后用小数点进行切割
                    arr[0]=parseFloat(arr[0]);//将切割后的数组 第一个值转换成浮点值
                    arr[1]='0.'+arr[1];    //将切割后的数组的 第二个值转换成小数点形式的字符串
                    arr[1]=parseFloat(arr[1]).toPrecision(figure);//将数组第二个值转换成浮点值 按 要求的精确位数四舍五入【注:返回值是String类型】
                    
                    //判断处理后的数组第一个值是否有. 有判断其长度,如果长度小于不够精确位数,加0---【注 字符串拼凑】                
                    arr[1]+=(RegExp('[.]').test(value))?(arr[1].length==figure+1?'0':''):'.00';
                    
                    //判断处理后的arr[1]中是否有1有1 则给arr[0]加1
                    arr[0]+=RegExp('^1').test(arr[1])?1:0;
                    
                    //将处理后的arr[0]+arr[1]拼凑回value值
                    value=arr[0]+RegExp("[.]\d{"+figure+"}").exec(arr[1]);
                    //返回value
                    return value;
                    };

    //说明 1 该方法有两个参数,参数一 要保留那个浮点数,参数二 要保留的位数 。返回值:要保留的浮点数处理后的结果。要注意的是,返回值类型为 String类型

    //说明 2 可将该段代码直接在自己的js文件中使用,也可以新建js文件然后添加引用!

    //说明 3 用法:

    var num1=123.798756;

    var num2=significantFigure(num1,2)

    alert(num2);//结果为 123.80

    //测试值: 123.99657 , 213.9877...  为保证正确,可以自己再测试下


    方法二

    简介:一行代码搞定  !

    2.1   调用NumberObject.toFixed(num)方法

    num 必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

    返回值

    返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。


    可以用以上提供的测试数据测试!var str=123.99657; //213.9877     alert(str.toFixed(2));  分别输出124.00 和213.99  【注 返回值为String类型】

  • 相关阅读:
    Selenium2+python自动化74搜索页面元素:jquery定位 上海
    httprunner 3.x学习5 测试用例引用前面一个用例(call) 上海
    JavaScript 学习1.注释与 var 变量声明 上海
    httprunner 2.x学习19 参数化显示不同的用例标题$title 上海
    Kentico UniGrid中的GridView的DataBound
    租鸡青一是什么意思,租鸡青一是什么梗
    MERGE Statement in SQL Explained
    sp_describe_parameter_encryption
    Difference between Databound & Databind
    SQL | MERGE Statement
  • 原文地址:https://www.cnblogs.com/dfyg-xiaoxiao/p/7213778.html
Copyright © 2020-2023  润新知