精通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 相关文章推荐
修复IE9&amp;safari 的sort方法
Oct 21 Javascript
JS.findElementById()使用介绍
Sep 21 Javascript
parentElement,srcElement的使用小结
Jan 13 Javascript
Javascript中设置默认参数值示例
Sep 11 Javascript
jquery删除指定子元素代码实例
Jan 13 Javascript
Node.js实现Excel转JSON
Apr 24 Javascript
jQuery防止重复绑定事件的解决方法
May 14 Javascript
AngularJS 过滤器的简单实例
Jul 27 Javascript
js仿淘宝商品放大预览功能
Mar 15 Javascript
vue项目中用cdn优化的方法
Jan 03 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
jquery实现上传文件进度条
Mar 26 jQuery
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
德生S2000电路分析
2021/03/02 无线电
php adodb分页实现代码
2009/03/19 PHP
PHP XML操作的各种方法解析(比较详细)
2010/06/17 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
2014/02/04 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
Python设计模式之建造者模式实例详解
2019/01/17 Python
pymongo中group by的操作方法教程
2019/03/22 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
试用期转正鉴定评语
2014/01/27 职场文书
中学生差生评语
2014/01/30 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
分公司经理任命书
2014/06/05 职场文书
财产保全担保书
2015/01/20 职场文书
鼋头渚导游词
2015/02/05 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
惊天动地观后感
2015/06/10 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL