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. chrome自带调试工具介绍

    Chrome浏览器不仅可以调试页面.JS.请求.资源.cookie,还可以模拟手机进行调试等等,为开发者提供了很多方便,下面就介绍一下我常用到的调试技巧. 1.chrome浏览页面常用快捷键 Ctrl ...

  2. 解决GitHub下载速度比较慢

    第一步,打开本机上的Hosts文件 首先,什么是Hosts文件? 在互联网协议中,host表示能够同其他机器互相访问的本地计算机.一台本地机有唯一标志代码,同网络掩码一起组成IP地址,如果通过点到点协 ...

  3. 23 模块 os sys pickle json

    一.   os模块 主要是针对操作系统的 用于文件操作 二.    sys 模块 模块的查找路径   sys.path 三   pickle 模块 1.  pickle.dumps(对象) 序列化  ...

  4. 判断两个IP是否处于同一子网(网段)

    如何去判断A和B两个IP是否在同一网段,假如有如下两个IP地址和子网掩码,判断他们是否是同一个网段的IP地址的方法: A IP:202.194.128.9 B IP:202.194.128.14 子网 ...

  5. style-loader、css-loader、mini-css-extract-plugin 区别

    项目 区别 css-loader 处理 css 文件 style-loader 把 js 中 import 导入的样式文件代码,打包到 js 文件中,运行 js 文件时,将样式自动插入到<sty ...

  6. 在单文件组件中,引入安装模块里的css的2种方式:script中引入、style中引入

    在单文件组件中,引入安装模块里的css的2种方式:script中引入.style中引入 1.script中引入 <script> import 'bulma/css/bulma.css' ...

  7. :nth-of-type(n) 与 :nth-child(n) 区别

    :nth-of-type(n):选择器匹配同类型中的第n个同级兄弟元素. :nth-child(n):选择器匹配父元素中的第n个子元素.

  8. 三重DEC加密在java中的实现

    代码可以直接拷走使用,一些约定例如向量可以自行变动 引言      如今手机app五彩缤纷,确保手机用户的数据安全是开发人员必须掌握的技巧,下面通过实例介绍DES在android.ios.java平台 ...

  9. Linux系统下启动tomcat报错【java.util.prefs.BackingStoreException: Couldn't get file lock】的解决方法

    Linux环境下,启动tomcat报出如题的警告信息,虽然对系统正常使用没有多大影响,但是会导致tomcat的日志垃圾信息很多,而且看起来很不爽... 具体的警告信息如下: Jan , :: PM j ...

  10. thinkPHP 3.2.3操作MongoDB指南

    今天使用thinkPHP操作MongoDB发现跟用MYSQL有很多不同的地方,在这里特别跟大家分享下. 暂时没用thinkPHP5一直还在用thinkPHP3.2.3觉得挺好用,MongoDB版本2和 ...