码迷,mamicode.com
首页 > 编程语言 > 详细

javascript实现保留两位小数一位自动补零代码实例

时间:2015-12-17 20:39:59      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

javascript实现保留两位小数一位自动补零代码实例:
本章节介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例:

function returnFloat(value){
  var value=Math.round(parseFloat(value)*100)/100;
  var xsd=value.toString().split(".");
  if(xsd.length==1){
    value=value.toString()+".00";
    return value;
  }
  if(xsd.length>1){
    if(xsd[1].length<2){
      value=value.toString()+"0";
    }
    return value;
  }
}
var num=3.1;
console.log(returnFloat(num));

上面的代码实现了我们的要求,下面介绍一下它的实现过程。
一.代码注释:
1.function returnFloat(value){},参数是要被转换的数字。
2.var value=Math.round(parseFloat(value)*100)/100,这个应该是函数的核心之处,parseFloat(value)将参数转换为浮点数,因为参数有可能是字符串,乘以100是因为要保留两位小数,先将小数点向右移动两个位数,然后再利用Math.round()方法实行四舍五入计算,最后除以100,这样就实现了保留保留两位小数,并且还具有四舍五入效果,但是这个并不完美,如果参数数字本身的小数位数大于等于2是可以的,如3.1415,但是如3或者3.0这样的还是没有完美的实现,继续看下面。

3.var xsd=value.toString().split("."),使用点"."value分隔成一个数组。
4.if(xsd.length==1){value=value.toString()+".00";return value;},如果数组的长度是1,也就是说不存在小数,那么就会为这个数字添加两个0,例如3会被转换成3.00。
5.if(xsd.length>1){
    if(xsd[1].length<2){
      value=value.toString()+"0";
    }
    return value;
  }

if(xsd.length>1)用来判断数字的长度是否大于1,也就是数字是否具有小数,如有小数,但是小数的位数小于2,也就是类似3.1这样的,就会在后面加一个0,也就是会转换为3.10。
二.相关阅读:
1.Math.round()可以参阅javascript的Math.round()方法一章节。
2.parseFloat()函数可以参阅javascript的parseFloat()方法一章节。
3.toString()函数可以参阅javascript的Number对象的toString()方法一章节。  
4.split()函数可以参阅javascript的String对象的split()方法一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=13260

更多内容可以参阅:http://www.softwhy.com/javascript/

javascript实现保留两位小数一位自动补零代码实例

标签:

原文地址:http://www.cnblogs.com/xiaofinder/p/5055107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!