JS 实现四舍五入保留两位小数并且添加千位分隔符

var a = "-123456789.078";
a = (Math.round(a * 100) / 100).toFixed(2).toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {return $1 + ",";});
console.log(a)

可以将方法写成function,也可以自己在VUE或者angular绑定数据的时候直接使用。

如果需要保留任意一位小数可以将100写成变量

function formatNumber(a,n){

  if(n===0){

a=a.replace(/(\d)(?=(\d{3})+$)/g,"$1,");

}else{

n1=Math.pow(10,n);

a = (Math.round(a * n1) / n1).toFixed(n).toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {return $1 + ",";});

}

return a;

}

var num1=formatNumber("-123456789.078771",4);

或者方法

function  toThousands(num,n, separator) {
     var parts;
     num = num + "";
     // 判断是否为数字
     if (!isNaN(parseFloat(num)) && isFinite(num)) {

n1=Math.pow(10,n);

num = (Math.round(num* n1) / n1).toFixed(n);

parts = num.split(‘.‘);
         parts[0] = parts[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, ‘$1‘ + (separator || ‘,‘));

return parts.join(‘.‘);
     }
     return NaN;
}

var num1=toThousands("-123456789.078771",4);

原文地址:https://www.cnblogs.com/qiangonline/p/10141986.html

时间: 2024-10-09 04:30:58

JS 实现四舍五入保留两位小数并且添加千位分隔符的相关文章

js中四舍五入保留两位效数,js中将Number转换成字符类型

今天在写代码的时候遇到了点问题,特意记下,以免忘记!四舍五入方法: 1 // num为传入的值,n为保留的小数位 2 function fomatFloat(num,n){ 3 var f = parseFloat(num); 4 if(isNaN(f)){ 5 return false; 6 } 7 f = Math.round(num*Math.pow(10, n))/Math.pow(10, n); // n 幂 8 var s = f.toString(); 9 var rs = s.i

JS中格式化数据保留两位小数

问题:在JS中格式化数据保留两位小数的函数的多种方法 最好方法: 保留两位好像是这样吧     var   a   =   9.39393;     alert(a.toFixed(2)); 说明: alert(Number.toFixed(9.39393));     返回的是9.39     但是只有ie5.5以上的版本才支持. 其它方法: 方法一: function   roundFun(numberRound,roundDigit)   //四舍五入,保留位数为roundDigit   

js实现浮点数保留两位小数代码

js实现浮点数保留两位小数代码:过浮点数小数点后面的数字太长的话,可能需要进行截取操作,下面是一段这样的实例代码和大家分享一下.代码如下: var num=3.1415926; console.log(num.toFixed(2)) 以上代码比较简单,这里就多介绍了,具体可以参阅javascript的Number对象的toFixed()方法一章节. 原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=11735 更多内容可以参阅:h

WinCE的C#编程,对float型进行四舍五入保留两位小数,小数进行四舍五入操作,Math.Round的应用案例。

private  float ConvertFloat4Se5Ru(float flotValue) { int iValue = (int)Math.Round(flotValue * 10000); //小数点后两位前移,并四舍五入 flotValue = (float)(iValue / 10000.00f); return flotValue; } 申明:以上文字为"武汉汉码科技有限公司"原创,转载时务必注明出处. 技术分享,沟通你我,共同进步!www.hanma-scan.c

java基础入门-float四舍五入保留两位小数注意的地方

float四舍五入保留两位小数注意的地方 最近在codewars做了一道非常简单的题目,但是它却花了我20来分钟,虽然最后解决了,但是中间发觉对于java的基础实在不行,回去要好好补一下 不说这么多,上题目:就是写一个方法,把英里每加仑换算成公里每升,保留两位数 一开始写的时候是没有问题,问题出现在保留两位数那里,我上一个测试代码 import java.util.regex.Pattern; public class Test { /* * 判断是否为整数 * * @param str 传入的

java 四舍五入 保留两位小数

1. 格式化字符串 1 java.text.DecimalFormat df = new java.text.DecimalFormat("#0.00"); 2 float val=Float.valueOf(df.format(6.6666666666)); 2.BigDecimal.setScale()方法 格式化小数点 1 BigDecimal bd=new BigDecimal(6.666666666666); 2 double val=bd.setScale(2,BigDec

JS格式化数字保留两位小数点示例代码

问题:在JS中格式化数据保留两位小数的函数的多种方法 最好方法: 保留两位好像是这样吧 复制代码 代码如下: var a = 9.39393; alert(a.toFixed(2)); 说明: alert(Number.toFixed(9.39393)); 返回的是9.39 但是只有ie5.5以上的版本才支持. 其它方法: function roundFun(numberRound,roundDigit) //四舍五入,保留位数为roundDigit   {  if (numberRound>=

js金额数字格式化实现代码(三位加逗号处理保留两位置小数)

工作中很常用的东西: 例1,使数字1111111变成11,111,111.00,保留两位小数. <html> <head> <script type="text/javascript"> function outputmoney(number) { number = number.replace(/\,/g, ""); if(isNaN(number) || number == "")return "

sql 四舍五入保留两位小数

select cast(362315*1.0/10000 as numeric(18,2)) select convert(decimal(18, 2), 362315 * 1.0 / 10000) 1. ROUND(该函数,只是负责四舍五入到两位小数,但是不负责截断 只留两位小数,例如下例:) 关于ROUND函数,我们平常理解为4舍5入,如: print ROUND(13.145, 2); 结果为:13.150 2. 使用转换类型,才能达到保留两位小数位的目的: select cast(13.