• javascript-保留2位小数函数方法


    
    
     1 function zero(num){
     2       var str=num.toString();
     3       if(str.indexOf(".")==-1){
     4           return num+'.00';
     5       }else{
     6         //整个数字的长度
     7         var len=str.length;
     8         //整数部分长度
     9         var integerLen=str.indexOf('.');
    10         if(len>(integerLen+2)){
    11             return str.slice(0,integerLen+3);
    12         }else if(len==(integerLen+2)){
    13             return str+'0';
    14         }else{
    15             return str;
    16         }
    17       }
    18 }
    
    

    保留2位小数函数方法

     
    1 console.log(zero(11))//11.00
    2 console.log(zero(11.0))//11.00
    3 console.log(zero(11.00))//11.00
    4 console.log(zero(11.001))//11.00
    5 console.log(zero(11.1))//11.10
    6 console.log(zero(11.00001))//11.00

     保留3位小数方法

     1 var num= 343232343.00001;
     2 var num1= 343232343.01;
     3 var num2= 343232343.120;
     4 var num3= 343232343.12;
     5 var num4= 343232343.1;
     6 var num5= 343232343;
     7 console.log(zero(num));//343232343.000
     8 console.log(zero(num1));//343232343.010
     9 console.log(zero(num2));//343232343.120
    10 console.log(zero(num3));//343232343.120
    11 console.log(zero(num4));//343232343.100
    12 console.log(zero(num5));//343232343.000
     1 function zero(num){
     2       var str=num.toString();
     3       if(str.indexOf(".")==-1){
     4           return num+'.000';
     5       }else{
     6         //整个数字的长度
     7         var len=str.length;
     8         //整数部分长度
     9         var integerLen=str.indexOf('.');
    10         if(len>(integerLen+4)){
    11             return str.slice(0,integerLen+4);
    12         }else if(len<(integerLen+4)){
    13             var n='';
    14             if(len==integerLen+3){
    15                 for(var i=0;i<1;i++){
    16                     n+='0';
    17                 }
    18             } else {
    19                 for(var i=0;i<2;i++){
    20                     n+='0';
    21                 }
    22             }
    23             return str+n;
    24         }else if(len==(integerLen+4)){
    25             return str;
    26         }
    27       }
    28 }

     最近有空又写出一个更加使用的保留小数位数:

     1 Number.prototype.zero=function(n){
     2     //数字转成字符串以便进行下一步的处理
     3     var str=this+'';
     4     //没有小数点
     5     if(str.indexOf('.')==-1){
     6         return n <= 0 ? str : str+'.'.padEnd(str.length+n-1,'0')
     7     }else{
     8     //有小数点  分 小于 等于 大于
     9     
    10         //找到小数点的索引值
    11         var dotIndex=str.indexOf('.')
    12         //整数部分加小数点一共的长度
    13         var intDotLen=dotIndex+1;
    14         //存下字符串的长度
    15         var totalLen=str.length;
    16         //获取小数位数
    17         var dotLen=totalLen-intDotLen;
    18         // console.log(dotIndex+','+intDotLen+','+totalLen+','+dotLen)
    19 
    20         if(dotLen<n){
    21             return n <= 0 ? str.slice(0,intDotLen-1) : str.padEnd(intDotLen+n,'0')
    22         }else if(dotLen==n){
    23 
    24             return n <= 0 ?  tr.slice(0,intDotLen-1) : str
    25         }else if(dotLen>n){
    26             // console.log(str.slice(0,intDotLen+n))
    27             return  n <= 0 ? str.slice(0,intDotLen-1) : str.slice(0,intDotLen+n)
    28         }
    29     }
    30 }
    31 // var a=11;
    32 // var a=11.0;
    33 // var a=11.00;
    34 // var a=11.001;
    35 // var a=11.1;
    36 // var a=11.00001;
    37 
    38  console.log(a.zero(-1))
    39  console.log(a.zero(0))
    40  console.log(a.zero(1))
    41  console.log(a.zero(2))
    42  console.log(a.zero(3))
    43  console.log(a.zero(4))
  • 相关阅读:
    题解-CF1375E Inversion SwapSort
    寒门再难出贵子
    js获取链接中的内容方法
    MySQL添加用户、删除用户、授权及撤销权限
    Ubuntu保存退出vim编辑器
    最全!Linux服务器下安装SVN,并添加SVN项目,自动更新项目文件到web目录
    php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别以及REQUEST_URI的讲解
    RESTful API 最佳实践----转载阮一峰
    PHP图像处理(GD库)
    nginx.conf配置
  • 原文地址:https://www.cnblogs.com/studyshufei/p/8641482.html
Copyright © 2020-2023  润新知