1.  
  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. }
  1.  

保留2位小数函数方法

  1.  
  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))

javascript-保留2位小数函数方法的更多相关文章

  1. JavaScript 保留两位小数

    以下我们将为大家介绍 JavaScript 保留两位小数的实现方法: 四舍五入 以下处理结果会四舍五入: var num =2.446242342; num = num.toFixed(2); // ...

  2. javascript保留两位小数

      原文地址http://blog.csdn.net/he20101020/article/details/8503308   <script type="text/javascrip ...

  3. ToString()格式和用法大全,C#实现保留两位小数的方法

    C,货币,2.5.ToString("C"),¥2.50.D,十进制数,25.ToString("D5"),00025.E,科学型,25000.ToString ...

  4. js保留两位小数的方法

    js保留两位小数的方法如下 1.toFixed()方法 需注意,保留两位小数,将数值类型的数据改变成了字符串类型 2.Math.floor(),不四舍五入 ,向下取整 注意,不改变数据类型 3.字符串 ...

  5. js取整并保留两位小数的方法

    js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数.注意 toFixed()方法只针对数字类型,如果是字符类型需要使用Number()等方法先转换数字类型再使用 document. ...

  6. [转] javascript 保留两位小数 (且不四舍五入)

    本文转自:https://blog.csdn.net/qq_40171039/article/details/79729503 保留两位小数且不四舍五入: 方法一: var a = 2.461; va ...

  7. 梁勇(Danniel Liang) java教材例题:java程序购买额按税率求营业税 java中数值保留2位小数的方法

    package com.swift; import java.util.Scanner; public class PurchaseTaxDecimalsTwo { public static voi ...

  8. C# 实现保留两位小数的方法

    1.Math.Round(0.333333,2);//按照四舍五入的国际标准 2.double dbdata=0.335333; string str1=String.Format("{0: ...

  9. Java的4种保留4位小数的方法(转)

    上网查到的4种方法 其实刚学java……谁知道java里面的这么多方法啊……java里面重要的包本来就不少啊 ……跟我学粤语的小徒弟问我的东东…… 写两种方式……直接在main函数里面写的.还有就是利 ...

随机推荐

  1. Embedded SW uses STL or not

    As the complexity increasing of embedded software, more and more projects/products use C++ as the im ...

  2. 客户端代码压缩成zip和服务器开启gzip

     1.我说的zip是打包完的js代码,用压缩工具压缩为zip文件,这样放CDN上,下载量会进一步缩小,提高进入游戏的速度   嗯,需要在游戏页用js解压zip文件  2.最简单的就服务器开启gzip 

  3. oracle-sql系统学习-ddl-dml

    e41084-04 oracle database sql language reference 11g release 2 sql语句类型 ddl alter ...除了alter session和 ...

  4. 我发起了一个 用 物理服务器 和 .Net 平台 构建云平台 的 .Net 开源项目

    大家好 , 我发起了一个 用 物理服务器 和 .Net 平台 构建云平台 的 .Net 开源项目 . 对 , 用 物理服务器 和 .Net 平台 构建 云平台 . 通过 .Net 构建 分布式 计算集 ...

  5. 干货-递归下降分析器 笔记(具体看Python Cookbook, 3rd edition 的2.19章节)

    import re import collections # 写将要匹配的正则 NUM = r'(?P<NUM>\d+)' PLUS = r'(?P<PLUS>\+)' MIN ...

  6. python调用hanlp分词包手记

    python调用hanlp分词包手记   Hanlp作为一款重要的分词工具,本月初的时候看到大快搜索发布了hanlp的1.7版本,新增了文本聚类.流水线分词等功能.关于hanlp1.7版本的新功能,后 ...

  7. C#代码覆盖率实践-vsinstr和OpenCover

    C#代码覆盖率实践-vsinstr和OpenCover 标签: C#覆盖率Visual StudioOpenCover测试 2013-06-09 00:57 8149人阅读 评论(8) 收藏 举报   ...

  8. php each和list的用法

    each与list的用法(PHP学习) 1.each的用法 先看API array each ( array &$array ) api里是这么描述的:each — 返回数组中当前的键/值对并 ...

  9. 深度图像配准(Registration)原理

    机器视觉中,3D相机产生的深度图像(depth image)通常需要配准(registration),以生成配准深度图像(registed depth image).实际上配准的目的就是想让深度图和彩 ...

  10. C#如何HttpWebRequest模拟登陆,获取服务端返回Cookie以便登录请求后使用

    public static string GetCookie(string requestUrlString, Encoding encoding, ref CookieContainer cooki ...