精通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 相关文章推荐
DLL+ ActiveX控件+WEB页面调用例子
Aug 07 Javascript
js为数字添加逗号并格式化数字的代码
Aug 23 Javascript
js每隔5分钟执行一次ajax请求的实现方法
Nov 27 Javascript
浅谈Sticky组件的改进实现
Mar 22 Javascript
基于JS代码实现导航条弹出式悬浮菜单
Jun 17 Javascript
将List对象列表转换成JSON格式的类实现方法
Jul 04 Javascript
详细总结Javascript中的焦点管理
Sep 17 Javascript
使用bootstrap实现多窗口和拖动效果
Sep 22 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
Oct 26 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 Javascript
vue中移动端调取本地的复制的文本方式
Jul 18 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 curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
Python自动扫雷实现方法
2015/07/25 Python
简单实现Python爬取网络图片
2018/04/01 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
使用python实现滑动验证码功能
2019/08/05 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
Python ArgumentParse的subparser用法说明
2020/04/20 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
五年级数学教学反思
2014/02/11 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
岗位说明书怎么写
2014/07/30 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
导游词之江南周庄
2019/12/06 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL
浅谈PHP7中的一些小技巧
2021/05/29 PHP
Prometheus 监控MySQL使用grafana展示
2021/08/30 MySQL
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技