Javascript 中截取小数位并实现四舍五入的方法

作者: CodeBit.cn     来源: CodeBit.cn 论坛     时间: 2008-05-13 08:38:41
摘要: 在 CodeBit.cn 的论坛中,有人问 Javascript 中如何截取小数位并实现四舍五入,这是一个很常用的 js 技术,帖子中也有网友热心回复,因为觉得比较典型,可能很多新手都会遇到此问题,所以将帖子整理了一下,以备新手查阅。
归类: Javascript,

关键词: Javascript, 截取, 小数位, 四舍五入, Formatting, Numbers,


在 CodeBit.cn 的论坛中,有人问 Javascript 中如何截取小数位并实现四舍五入,这是一个很常用的 js 技术,帖子中也有网友热心回复,因为觉得比较典型,可能很多新手都会遇到此问题,所以将帖子整理了一下,以备新手查阅。


round 方法


作用:返回与给出的数值表达式最接近的整数。
语法:Math.round(number) ,必选项 number 参数是要舍入到最接近整数的值。
说明:如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。 

示例:
Code:

// 如果取一位则乘以 10 之后再除以 10, 以此类推
Math.round(3.248 * 100) / 100




Javascript 1.5 新增函数


在 Javascript 1.5 (IE5.5+ , NS6+ 以上版本支持)中,新增了2个专门用于货币流通的函数:
Number.toFixed(x) 和 Number.toPrecision(x)。

Number.toFixed(x) 是将指定数字截取小数点后 x 位, Number.toPrecision(x) 是将整个数字截取指定(x)长度。注意,一个是计算小数点后的长度,一个是计算整个数字的长度 。

请看完整示例:

Javascript:
  1.  
  2. <script type="text/javascript">
  3.  
  4. var aa = 2.3362;
  5.  
  6. document.write(aa.toFixed(1)); // 2.3
  7. document.write(aa.toFixed(2)); // 2.34
  8.  
  9. document.write(aa.toPrecision(2)); // 2.3
  10. document.write(aa.toPrecision(3)); // 2.34
  11.  
  12. document.write(Math.round(aa * 10) / 10); // 2.3
  13. document.write(Math.round(aa * 100) / 100); // 2.34
  14.  
  15. </script>
  16.  



显然,新增的 2 个专用函数使用非常方便,但是因为是新增函数,所以要考虑浏览器支持问题,请根据您的客户群选择对应的方法。


推荐链接:(联系 QQ :326801485)