精通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 25 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
Dec 16 Javascript
从零学jquery之如何使用回调函数
May 16 Javascript
jQuery EasyUI Pagination实现分页的常用方法
May 21 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
基于JS设计12306登录页面
Dec 28 Javascript
详解JavaScript RegExp对象
Feb 04 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
May 25 Javascript
详解用函数式编程对JavaScript进行断舍离
Sep 18 Javascript
详解react-refetch的使用小例子
Feb 15 Javascript
HTML+JavaScript实现扫雷小游戏
Sep 30 Javascript
js实现坦克移动小游戏
Oct 28 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分页时出现的Fatal error的解决方法
2011/04/18 PHP
解析PHP提交后跳转
2013/06/23 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
js获取height和width的方法说明
2013/01/06 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
2014/02/04 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
用Python进行基础的函数式编程的教程
2015/03/31 Python
python实现发送邮件及附件功能
2021/03/02 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
园林资料员岗位职责
2013/12/30 职场文书
颁奖典礼主持词
2014/03/25 职场文书
高三学生评语大全
2014/04/25 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
Python使用MapReduce进行简单的销售统计
2022/04/22 Python