精通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 相关文章推荐
html数组字符串拼接的最快方法
Sep 16 Javascript
IE不支持getElementsByClassName最终完美解决方案
Dec 17 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
Jan 13 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
Jun 23 Javascript
jquery插件bootstrapValidator数据验证详解
Nov 09 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
Mar 27 Javascript
深入理解ES6学习笔记之块级作用域绑定
Aug 19 Javascript
Vue 图片压缩并上传至服务器功能
Jan 15 Javascript
Vue中keep-alive组件作用详解
Feb 04 Javascript
JS如何判断对象是否包含某个属性
Aug 29 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 getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
详解python的ORM中Pony用法
2018/02/09 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
python Pexpect模块的使用
2020/12/25 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
总经理助理职责
2014/02/04 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
建筑安全生产责任书
2014/07/22 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
音乐教师个人总结
2015/02/06 职场文书
校车安全管理责任书
2015/05/11 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
安全教育主题班会教案
2015/08/12 职场文书
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript