精通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 相关文章推荐
js调用activeX获取u盘序列号的代码
Nov 21 Javascript
网站基于flash实现的Banner图切换效果代码
Oct 14 Javascript
js判断登陆用户名及密码是否为空的简单实例
May 16 Javascript
javascript鼠标滑过显示二级菜单特效
Nov 18 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
Aug 17 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 Javascript
浅谈angular2 组件的生命周期钩子
Aug 12 Javascript
React全家桶环境搭建过程详解
May 18 Javascript
详解关于webpack多入口热加载很慢的原因
Apr 24 Javascript
js 数组当前行添加数据方法详解
Jul 28 Javascript
如何理解Vue简单状态管理之store模式
May 15 Vue.js
Rust中的Struct使用示例详解
Aug 14 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
用PHP读注册表
2006/10/09 PHP
php代码优化及php相关问题总结
2006/10/09 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
php实现把数组按指定的个数分隔
2014/02/17 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
JavaScript面向对象之Prototypes和继承
2012/07/12 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
JavaScript简单编程实例学习
2020/02/14 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
下载官网python并安装的步骤详解
2019/10/12 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
python实现logistic分类算法代码
2020/02/28 Python
Python对象的属性访问过程详解
2020/03/05 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
给排水专业应届生求职信
2013/10/12 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
建议书范文
2015/02/05 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书