js对数字的格式化

在jsp页面上可以使用<fmt:------对数字对行格式化

在js中----------

Javascript也提供了对数字进行格式化输出的支持

Number对象提供的几种格式化函数:

  toExponential([fractionDigits])   :将数字按科学计数法格式返回,其中的fractionDigits值小数点后保留的位数。
  toFixed([fractionDigits])   :将数字按指定的小数点位数返回,其中的fractionDigits值小数点后保留的位数。
  toPrecision([precision])   :将数字按指定的精度返回(这个精度不是指小数点后几位),其中precision是指定的精度值。

 
  
var num = 56.45678 ;
var rs1 = num.toExponential( 2 ); // rs1的值为5.65e+1
var rs2 = num.toFixed( 2 ); // rs的值为56.45
var rs3 = num.toPrecision( 2 ); // rs的值为56

虽然说Number对象提供的这些方法能够解决不少的数字转化问题,但是对于许多情况还是不好满足的,例如对百分号的支持等等。

   为了解决这个问题,并提供更为强大和灵活的数字格式化要求,JsJava专门提供了的Javascript自定义类来进行支持,你可以下载jsjava-1.0.js,引用其中的src/jsjava/text/NumberFormat.js或者直接引用jslib/jsjava-1.0.js,举例如下:

 
  
< script src = " js/jsjava/text/NumberFormat.js " >< / script>
< script src = " js/jsjava/lang/StringBuffer.js " >< / script>
< script src = " js/jsjava/lang/IllegalArgumentException.js " >< / script>
< script >
var nf = new DecimalFormat();
nf.applyPattern(
" 000.000% " );
var res = nf.format( - 0.893566 );
document.write(res
+ " <br> " );
nf.applyPattern(
" 0000.00 " );
var res = nf.format( - 53.385967 );
document.write(res
+ " <br> " );
nf.applyPattern(
" 0000.000E00 " );
var res = nf.format( 53.385967 );
document.write(res
+ " <br> " );
< / script>

   显示结果为:

   -89.357%
   -53.39
   5338.597e-2

金额

function formatNum(num,n)
{//参数说明:num 要格式化的数字 n 保留小数位
    num = String(num.toFixed(n));
    var re = /(-?\d+)(\d{3})/;
    while(re.test(num)) num = num.replace(re,"$1,$2")
    return num;
}
alert(formatNum(1234005651.789,2));
// --></mce:script>

转载于:https://www.cnblogs.com/archie2010/archive/2011/01/12/1933895.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值