精通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与jquery的多组处理, 仅展开一个区块的折叠效果
Jan 09 Javascript
js不完美解决click和dblclick事件冲突问题
Jul 16 Javascript
jquery获取一个元素下面相同子元素的个数代码
Jul 31 Javascript
详细解密jsonp跨域请求
Apr 15 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
AngularJS表格详解及示例代码
Aug 17 Javascript
vue.js表格组件开发的实例详解
Oct 12 Javascript
jQuery实现给input绑定回车事件的方法
Feb 09 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
Mar 30 Javascript
JS中this的4种绑定规则详解
Feb 04 Javascript
React中Ref 的使用方法详解
Apr 28 Javascript
Vue props中Object和Array设置默认值操作
Jul 30 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 命令行参数详解及应用
2011/05/18 PHP
基于PHP文件操作的详解
2013/06/05 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
2013/12/13 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
浅谈js函数的多种定义方法与区别
2016/11/29 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
win与linux系统中python requests 安装
2016/12/04 Python
python实现上传下载文件功能
2020/11/19 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
python对常见数据类型的遍历解析
2019/08/27 Python
Python列表元素常见操作简单示例
2019/10/25 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
主题酒店策划书
2014/01/28 职场文书
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
JS实现九宫格拼图游戏
2022/06/28 Javascript