下载中心    客户留言          收藏本站     设为首页
  当前位置:首页 > 锟斤拷锟斤拷锟斤拷锟斤拷 > JS小数位截取


JS小数位截取

发布时间:2015/8/22 12:17:22  点击次数:6393次


用Javascript取float型小数点后两位,例22.127456取成22.13,如何做?
1. [javascript]
function get() 
var s = 22.127456 + ""; 
var str = s.substring(0,s.indexOf(".") + 3); 
alert(str); 
2. 正则表达式效果不错
[javascript]
<script type="text/javascript"> 
onload = function(){ 
var a = "23.456322"; 
var aNew; 
var re = /([0-9]+\.[0-9]{2})[0-9]*/; 
aNew = a.replace(re,"$1"); 
alert(aNew); 
</script> 
[javascript]
<script> 
var num=22.127456; 
alert( Math.round(num*100)/100); 
</script> 
[javascript]
<script> 
var num=22.127456; 
alert( num.toFixed(2)); 
</script> 
<script>  var num=22.127456;  alert( num.toFixed(2));</script>
3.round 方法
作用:返回与给出的数值表达式最接近的整数。
语法:Math.round(number) ,必选项 number 参数是要舍入到最接近整数的值。
说明:如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。
示例: 如果取一位则乘以 10 之后再除以 10, 以此类推Math.round(3.248 * 100) / 100
4.Javascript 1.5 新增函数
在 Javascript 1.5 (IE5.5+,NS6+ 以上版本支持)中,新增了2个专门用于货币流通的函数:
Number.toFixed(x) 和 Number.toPrecision(x)。
Number.toFixed(x) 是将指定数字截取小数点x位, Number.toPrecision(x) 是将整个数字截取指定(x)长度。注意,一个是计算小数点后的长度,一个是计算整个数字的长度 。
5.请看完整示例:
[javascript]
<script type="text/javascript"> 
var aa = 2.3362; 
document.write(aa.toFixed(1)); // 2.3 
document.write(aa.toFixed(2)); // 2.34 
document.write(aa.toPrecision(2)); // 2.3 
document.write(aa.toPrecision(3)); // 2.34 
document.write(Math.round(aa * 10) / 10); // 2.3 
document.write(Math.round(aa * 100) / 100); // 2.34 
</script> 
<script type="text/javascript">  var aa = 2.3362;  document.write(aa.toFixed(1)); // 2.3document.write(aa.toFixed(2)); // 2.34  document.write(aa.toPrecision(2)); // 2.3document.write(aa.toPrecision(3)); // 2.34  document.write(Math.round(aa * 10) / 10); // 2.3document.write(Math.round(aa * 100) / 100); // 2.34  </script>
显然,新增的 2 个专用函数使用非常方便,但是因为是新增函数,所以要考虑浏览器支持问题,请根据您的客户群选择对应的方法。