zoukankan      html  css  js  c++  java
  • JavaScript+jQuery从小工到专家学习笔记数值

    下面我们来学习一下JavaScript的数值

    在JS中如果希望某个变量包含一个数值,那么无需限定其必须是整数或者是浮点数,下面来个例子,更直观一点:
    ---------------------
    例:var a=32.6;
        var b=67;
        var c=9e5;
    ---------------------
    对于数值类型,如果希望转换为科学计数法,可以采用toExponential()方法,该方法接受一个参数,表示要输出小数倍数:
    ---------------------
    例:
    var a=78.9;
    alert(a.toExponential(1));
    ---------------------
     js 中对数值的格式化问题

    对数字进行格式化输出,是非常有意义的一件事情,例如许多时候,我们希望一个数字能够输出为指定格式的字符串,拿26.9878来说,我们可能会希望它能保留两位小数来说出,即结果为

    26.99,或者对于0.345678,希望能够按百分号输出,并保留小数点后两位,即结果为34.57%,又例如我们希望将数字56456456按照科学计数法来显示,并保留小数点后两位,即结果为5.65e

    +7,类似例子当然还有很多。

       那么在Javascript标准之中,是否提供了对这些格式化输出的支持呢,可以说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
    -------------------------------

  • 相关阅读:
    Servlet细节
    https协议
    常用css缩写
    Servlet
    计算机编码总结
    java 中 finally 语句块的 深度解析 总结
    使用DIV之后 table何去何从
    http协议
    web开发基础
    js闭包之我见
  • 原文地址:https://www.cnblogs.com/atun/p/2074613.html
Copyright © 2011-2022 走看看