精通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 相关文章推荐
javascript 匿名函数的理解(透彻版)
Jan 28 Javascript
如何实现JavaScript动态加载CSS和JS文件
Dec 28 Javascript
基于javascript实现彩票随机数生成(简单版)
Apr 17 Javascript
简单理解JavaScript中的封装与继承特性
Mar 19 Javascript
VUEJS实战之利用laypage插件实现分页(3)
Jun 13 Javascript
js简单实现图片延迟加载的方法
Jul 19 Javascript
js插件Jcrop自定义截取图片功能
Oct 14 Javascript
vue.js表格分页示例
Oct 18 Javascript
Vue实现双向数据绑定
May 03 Javascript
微信小程序实现同一页面取值的方法分析
Apr 30 Javascript
koa2 从入门到精通(小结)
Jul 23 Javascript
react实现移动端下拉菜单的示例代码
Jan 16 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
德生PL330的评价与改造
2021/03/02 无线电
PHP内存缓存功能memcached示例
2016/10/19 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
2016/05/10 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
2017/03/10 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
小程序实现展开/收起的效果示例
2018/09/22 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
Python实现快速排序算法及去重的快速排序的简单示例
2016/06/26 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
如何将Pycharm中调整字体大小的方式设置为&quot;ctrl+鼠标滚轮上下滑&quot;
2020/11/17 Python
葡萄牙语专业个人求职信
2013/12/10 职场文书
高级工程师英文求职信
2014/03/19 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
总经理助理岗位职责
2015/01/31 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
三方合作意向书范本
2015/05/09 职场文书
新郎结婚感言
2015/07/31 职场文书
JUnit5常用注解的使用
2021/07/02 Java/Android