精通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插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
Feb 04 Javascript
JQuery for与each性能比较分析
May 14 Javascript
js浏览器本地存储store.js介绍及应用
May 13 Javascript
javascript图片预加载完整实例
Dec 10 Javascript
基于jQuery实现简单人工智能聊天室
Feb 10 Javascript
JavaScript基础之流程控制语句的用法
Aug 31 Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
浅谈react受控组件与非受控组件(小结)
Feb 09 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
Jul 24 Javascript
JS中间件设计模式的深入探讨与实例分析
Apr 11 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
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+SQL 注入攻击的技术实现以及预防办法
2010/12/29 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
解析PHP中如何将数组变量写入文件
2013/06/06 PHP
php判断访问IP的方法
2015/06/19 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
php实现多维数组排序的方法示例
2017/03/23 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
jquery自动将form表单封装成json的具体实现
2014/03/17 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
python学习 流程控制语句详解
2016/06/01 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
UNIX文件系统分类
2014/11/11 面试题
公务员个人自我评价分享
2013/11/06 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
电台编导求职信
2014/05/06 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
教师业务学习材料
2014/12/16 职场文书
考试后的感想
2015/08/07 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL