精通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 相关文章推荐
JS控制表格隔行变色
Jun 26 Javascript
js网页实时倒计时精确到秒级
Feb 10 Javascript
js获取元素相对窗口位置的实现代码
Sep 28 Javascript
js实现tab切换效果实例
Sep 16 Javascript
AngularJS基础 ng-csp 指令详解
Aug 01 Javascript
bootstrap css样式之表单
Jan 19 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
bootstrap table表格插件使用详解
May 08 Javascript
vue-awesome-swiper滑块插件使用方法详解
Nov 27 Javascript
小程序实现单选多选功能
Nov 04 Javascript
echarts大屏字体自适应的方法步骤
Jul 12 Javascript
原生JavaScript实现五子棋游戏
Nov 09 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下10件你也许并不了解的事情
2008/09/11 PHP
超级简单的php+mysql留言本源码
2009/11/11 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP取进制余数函数代码
2012/01/19 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
php使用指定字符列表生成随机字符串的方法
2015/04/18 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
微信小程序实现上传word、txt、Excel、PPT等文件功能
2019/05/23 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
django使用html模板减少代码代码解析
2017/12/12 Python
Django获取应用下的所有models的例子
2019/08/30 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
JPA的特点
2014/10/25 面试题
高中语文课后反思
2014/04/27 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
土建施工员岗位职责
2015/04/11 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书