function zero(num){
var str=num.toString();
if(str.indexOf(".")==-1){
return num+'.00';
}else{
//整个数字的长度
var len=str.length;
//整数部分长度
var integerLen=str.indexOf('.');
if(len>(integerLen+2)){
return str.slice(0,integerLen+3);
}else if(len==(integerLen+2)){
return str+'0';
}else{
return str;
}
}
}

保留2位小数函数方法

 
 console.log(zero(11))//11.00
console.log(zero(11.0))//11.00
console.log(zero(11.00))//11.00
console.log(zero(11.001))//11.00
console.log(zero(11.1))//11.10
console.log(zero(11.00001))//11.00

保留3位小数方法

 var num= 343232343.00001;
var num1= 343232343.01;
var num2= 343232343.120;
var num3= 343232343.12;
var num4= 343232343.1;
var num5= 343232343;
console.log(zero(num));//343232343.000
console.log(zero(num1));//343232343.010
console.log(zero(num2));//343232343.120
console.log(zero(num3));//343232343.120
console.log(zero(num4));//343232343.100
console.log(zero(num5));//343232343.000
 function zero(num){
var str=num.toString();
if(str.indexOf(".")==-1){
return num+'.000';
}else{
//整个数字的长度
var len=str.length;
//整数部分长度
var integerLen=str.indexOf('.');
if(len>(integerLen+4)){
return str.slice(0,integerLen+4);
}else if(len<(integerLen+4)){
var n='';
if(len==integerLen+3){
for(var i=0;i<1;i++){
n+='0';
}
} else {
for(var i=0;i<2;i++){
n+='0';
}
}
return str+n;
}else if(len==(integerLen+4)){
return str;
}
}
}

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

 Number.prototype.zero=function(n){
//数字转成字符串以便进行下一步的处理
var str=this+'';
//没有小数点
if(str.indexOf('.')==-1){
return n <= 0 ? str : str+'.'.padEnd(str.length+n-1,'0')
}else{
//有小数点 分 小于 等于 大于 //找到小数点的索引值
var dotIndex=str.indexOf('.')
//整数部分加小数点一共的长度
var intDotLen=dotIndex+1;
//存下字符串的长度
var totalLen=str.length;
//获取小数位数
var dotLen=totalLen-intDotLen;
// console.log(dotIndex+','+intDotLen+','+totalLen+','+dotLen) if(dotLen<n){
return n <= 0 ? str.slice(0,intDotLen-1) : str.padEnd(intDotLen+n,'0')
}else if(dotLen==n){ return n <= 0 ? tr.slice(0,intDotLen-1) : str
}else if(dotLen>n){
// console.log(str.slice(0,intDotLen+n))
return n <= 0 ? str.slice(0,intDotLen-1) : str.slice(0,intDotLen+n)
}
}
}
// var a=11;
// var a=11.0;
// var a=11.00;
// var a=11.001;
// var a=11.1;
// var a=11.00001; console.log(a.zero(-1))
console.log(a.zero(0))
console.log(a.zero(1))
console.log(a.zero(2))
console.log(a.zero(3))
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. C# WinForm 菜单项的大小、高宽的手动控制

    控制菜单项的第一级的下级菜单项的大小: 直接通过(ContextMenuStrip对象).AutoSize = false.(ContextMenuStrip对象).Size = new Size(5 ...

  2. C语言打印100到200之间的素数

    用C语言打印素数,我们首先要了素数的相关定义:只有1和它本身两个因数的自然数,也就是说除了1和它本身外,不能被其他自然数整除的数就称为素数. 例如:101只能被1 和101 整除:103只能被1 和1 ...

  3. Java单播、广播、多播(组播)---转

    一.通信方式分类 在当前的网络通信中有三种通信模式:单播.广播和多播(组播),其中多播出现时间最晚,同时具备单播和广播的优点. 单播:单台主机与单台主机之间的通信 广播:当台主机与网络中的所有主机通信 ...

  4. Bjarne Stroustrup announces C++ Core Guidelines

    This morning in his opening keynote at CppCon, Bjarne Stroustrup announced the C++ Core Guidelines ( ...

  5. C# 使用委托实现多线程调用窗体的四种方式(转)

    1.方法一:使用线程 功能描述:在用c#做WinFrom开发的过程中.我们经常需要用到进度条(ProgressBar)用于显示进度信息.这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口 ...

  6. CodeReview常见代码问题

    路线图 常见代码问题空值未捕获潜在的异常低性能影响范围过大单测问题与原有业务逻辑不兼容缺乏必要日志错误码不符合规范参数检测缺乏或不足引用错误细节错误多重条件文不符实跨语言或跨系统交互可维护性问题硬编码 ...

  7. MySQL+MyBatis下批量修改数据的问题

    今天处理数据批量的更新,场景是这样子的,web站管理的字典功能,需要添加一个记录的整体描述,以及详细内容的描述.一个字典整体概述只有一组信息,但是其详细内容,会有很多项,不确定. 这个场景,在关系型数 ...

  8. Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)成功烧录方法

    问题: Arduino:1.6.3 (Windows 7), 板:"Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)" Sketch ...

  9. Block Design 小技巧之添加RTL代码到block_design

    Block Design 小技巧之添加RTL代码到block_design 1.首先得打开Block Design,右击RTL文件,才会出现Add module to Block Design选项. ...

  10. 使用vivado将bit文件转化为mcs文件

    使用vivado将bit文件转化为mcs文件 1.在Tcl Console中运行脚本: write_cfgmem -force -format MCS -size 64 -interface spix ...