将数值四舍五入(保留2位小数)后格式化成金额形式

/**
* 将数值四舍五入(保留2位小数)后格式化成金额形式
*
* @param num 数值(Number或者String)
* @return 金额格式的字符串,如‘1,234,567.45‘
* @type String
*/
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,‘‘);
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+‘,‘+
num.substring(num.length-(4*i+3));
return (((sign)?‘‘:‘-‘) + num + ‘.‘ + cents);
}

时间: 2024-08-07 08:20:13

将数值四舍五入(保留2位小数)后格式化成金额形式的相关文章

将json中所有字段四舍五入保留n位小数

json中数据不规范,有时我们需要将数值(字符串类型的数值)统一保留多少位小数. 以下是我的代码,使用递归算法遍历json中所有的层.只要发现value值为浮点型或可转换成数值型的字符串则全部转换成浮点数: 具体代码如下: class RoundJSON(object): #data:需要处理的目标json,digit为保留多少位小数位默认保留4位 def round_data(self,data={},digit=4):#将data中的所有字段只要是数值则四舍五入,可以处理科学计数法 if(t

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

C#四舍五入保留一位小数

DateTime d1 = hrStaff.DateJoin; DateTime d2 = DateTime.Now; TimeSpan d3 = d2.Subtract(d1); double d4 = (double)(d3.Days) / 365; //int interval = new TimeSpan(d2.Ticks - d1.Ticks).Days; 获取总共相差的天数 string str1 = d4.ToString("f1");//fN 保留N位,四舍五入 //d

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

BigDecimal四舍五入保留两位小数

import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class NumberFormatDemo { public static void main(String[] args) { // BigDecimal // 保留两位小数 System.out.println(new BigDecimal(0.2).setScale(2, BigDecimal

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.

php保留两位小数并且四舍五入 保留两位小数并且不四舍五入

php保留两位小数并且四舍五入 $num = 5566.56831; echo sprintf("%.2f", $num); php保留两位小数并且不四舍五入 $num = 5566.56831; echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -2)); php进一法取整 echo ceil(4.2); // 5 echo ceil(9.999); // 10 php舍去法取整 echo

数字四舍五入保留两位小数

http://www.cnblogs.com/fanyong/archive/2013/05/30/chinese_round.html C#中的Math.Round()并不是使用的"四舍五入"法.其实在VB.VBScript.C#.J#.T-SQL中Round函数都是采用Banker's rounding(银行家算法),即:四舍六入五取偶.事实上这也是IEEE的规范,因此所有符合IEEE标准的语言都应该采用这样的算法. .NET 2.0 开始,Math.Round 方法提供了一个枚举