精通Javascript系列之数值计算

 更新时间:2011年06月07日 22:37:36   作者:  
在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

相关文章

  • JavaScript涉及二进制的转换方式

    JavaScript涉及二进制的转换方式

    这篇文章主要介绍了JavaScript涉及二进制的转换方式,具有很好的 参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • JavaScript 核心参考教程 RegExp对象

    JavaScript 核心参考教程 RegExp对象

    JavaScript 核心参考教程RegExp对象,学习正则表达式的朋友可以参考下。
    2009-10-10
  • JS添加或删除HTML dom元素的方法实例分析

    JS添加或删除HTML dom元素的方法实例分析

    这篇文章主要介绍了JS添加或删除HTML dom元素的方法,结合实例形式分析了javascript针对HTML DOM元素节点的创建、追加、删除等相关操作技巧与注意事项,需要的朋友可以参考下
    2019-03-03
  • JavaScript CollectGarbage函数案例详解

    JavaScript CollectGarbage函数案例详解

    这篇文章主要介绍了JavaScript CollectGarbage函数案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 原生js实现简易抽奖系统

    原生js实现简易抽奖系统

    这篇文章主要为大家详细介绍了原生js实现简易抽奖系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • JS实现黑客帝国文字下落效果

    JS实现黑客帝国文字下落效果

    看过黑客帝国的朋友或许都对开头的字幕效果很熟悉,自从影片播放以来,网页设计者有不少都在模仿这种文字下落的效果,而且还有文字渐变效果,对我们学习研究JS还是挺有帮助的哦,下面跟着小编一起学习JS 黑客帝国文字下落效果吧
    2015-09-09
  • js读取注册表的键值示例

    js读取注册表的键值示例

    读取注册表的键值的方法有很多,在本文将为大家详细介绍下使用js如何实现注册表的键值读取,感兴趣的朋友可以参考下
    2013-09-09
  • JS中实现函数return多个返回值的实例

    JS中实现函数return多个返回值的实例

    下面小编就为大家带来一篇JS中实现函数return多个返回值的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • js解析json读取List中的实体对象示例

    js解析json读取List中的实体对象示例

    这篇文章主要介绍了js解析json读取List中的实体对象的具体实现,需要的朋友可以参考下
    2014-03-03
  • 纯javascript实现四方向文本无缝滚动效果

    纯javascript实现四方向文本无缝滚动效果

    本文主要给大家分享了使用纯javascript实现的可控制的四方向文本无缝滚动的代码,效果非常不错,有需要的小伙伴可以参考下。
    2015-06-06

最新评论