精通Javascript系列之数值计算


Posted in Javascript onJune 07, 2011

更直观一点:
---------------------
例: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 相关文章推荐
jQuery EasyUI API 中文文档 - ComboBox组合框
Oct 07 Javascript
Javascript中valueOf与toString区别浅析
Mar 19 Javascript
JS 各种网页尺寸判断实例方法
Apr 18 Javascript
基于JavaScript如何制作遮罩层对话框
Jan 26 Javascript
jquery实现一个简单的表单验证实例
Mar 30 Javascript
jquery实现网页定位导航
Aug 23 Javascript
JavaScript编写九九乘法表(两种任选)
Feb 04 Javascript
JavaScript中数组常见操作技巧
Sep 01 Javascript
Angular实现的简单定时器功能示例
Dec 28 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
JS数组方法push()、pop()用法实例分析
Jan 18 Javascript
JS高级程序设计之class继承重点详解
Jul 07 Javascript
jQuery 源码分析笔记(4) Ready函数
Jun 02 #Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
Jun 02 #Javascript
JqGrid web打印实现代码
May 31 #Javascript
16个最流行的JavaScript框架[推荐]
May 29 #Javascript
js 静态动态成员 and 信息的封装和隐藏
May 29 #Javascript
在JavaScript中监听IME键盘输入事件
May 29 #Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
May 28 #Javascript
You might like
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
require、backbone等重构手机图片查看器
2016/11/17 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python selenium 三种等待方式解读
2016/09/15 Python
python中安装模块包版本冲突问题的解决
2017/05/02 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
医院护士求职自荐信格式
2013/09/21 职场文书
电信专业应届生自荐信
2013/09/28 职场文书
淘宝好评语大全
2014/05/05 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
教师远程研修感悟
2015/11/18 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL
Python绘画好看的星空图
2022/03/17 Python