• 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>

  • 相关阅读:
    case class inheritance
    [Akka]发送一条消息的内部流程
    Java 8 新特性
    大数据学习笔记
    磁盘结构
    AtomicReference 和 volatile 的区别
    How to support both ipv4 and ipv6 address for JAVA code.
    使用JProfiler分析定位java内存泄露memory leak
    redhat mount iso as one yum repository
    Linux Shell常用技巧
  • 原文地址:https://www.cnblogs.com/archie2010/p/1933895.html
Copyright © 2020-2023  润新知