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()方法一章节。

(0)

相关推荐

  • js实现倒计时效果(小于10补零)

    话不多说,请看代码: function checkTime(i) { if (i<10) { i = "0" +i; } return i; }; function GetRTime(t){ h=Math.floor(t/60/60); m=Math.floor(t/60%60); s=Math.floor(t%60); d = checkTime(d); h = checkTime(h); m = checkTime(m); s = checkTime(s); $("

  • js日期时间补零的小例子

    复制代码 代码如下: function getNowFormatDate()         {            var day = new Date();            var Year = 0;            var Month = 0;            var Day = 0;            var CurrentDate = "";            //初始化时间            //Year       = day.getYea

  • JavaScript前补零操作实例

    本文实例讲述了JavaScript前补零操作的方法.分享给大家供大家参考.具体如下: 很多时候为了显示格式,需要在某一字符串不满位的情况下进行前补0操作. 1. 传统代码 /** * 前补0操作 * @param number String 待操作字符串 * @param length int 目标长度 */ function addZero(number, length) { var buffer = ""; if (number == "") { for (va

  • JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码

    有时候我们的日期等不足两位的补一个0等,都可以使用这个. 这个大家应该都很明白了,就不废话了,代码如下: String.prototype.padLeft = Number.prototype.padLeft = function(total, pad) { return (Array(total).join(pad || 0) + this).slice(-total); } 测试代码: //补位 "X".padLeft(5, "Y"); //返回:YYYYX (

  • JavaScript 时分秒时间代码(自动补零)

    function startTime() { var today=new Date() var h=today.getHours() var m=today.getMinutes() var s=today.getSeconds() //add a zero in front of numbers which [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] javascript 补零 函数集合

  • 在js中做数字字符串补0(js补零)

    通常遇到的一个问题是日期的"1976-02-03 HH:mm:ss"这种格式 ,我的比较简单的处理方法是这样: function formatDate(d) { var D=['00','01','02','03','04','05','06','07','08','09'] with (d || new Date) return [ [getFullYear(), D[getMonth()+1]||getMonth()+1, D[getDate()]||getDate()].join

  • javascript添加前置0(补零)的几种方法

    前言 众所周知JavaScript中的数字是没有前置0的,因此需要我们自己进行操作来添加前置0,而且还得转换成字符串. 假如生成一个是一共是4位的有前置0的数据,通常我们能想到的方法是这样子的: function addPreZero(num){ if(num<10){ return '000'+num; }else if(num<100){ return '00'+num; }else if(num<1000){ return '0'+num; }else{ return num; }

  • JavaScript实现按照指定长度为数字前面补零输出的方法

    本文实例讲述了JavaScript实现按照指定长度为数字前面补零输出的方法.分享给大家供大家参考.具体分析如下: 例如我们希望输出的数字长度是固定的,假设为10,如果数字为123,则输出0000000123,不够位数就在之前补足0,这里提供了三种不同的方式实现JS代码给数字补0 的操作 方法1 function PrefixInteger(num, length) { return (num/Math.pow(10,length)).toFixed(length).substr(2); } 方法

  • JavaScript 空位补零实现代码

    实现一: 复制代码 代码如下: /* 平淡无奇法 */ function pad(num, n) { var i = (num + "").length; while(i++ < n) num = "0" + num; return num; } 上面的代码太平淡无奇,体现不了我的真实水平.于是有了实现二: 复制代码 代码如下: /* 神奇递归法 */ function pad2(num, n) { if ((num + "").lengt

  • javascript 补零 函数集合

    在输出整数时如果需要在前面或者后面补零成一定长度可以用以下函数. function padLeft(str,lenght){ if(str.length >= lenght) return str; else return padLeft("0" +str,lenght); } function padRight(str,lenght){ if(str.length >= lenght) return str; else return padRight(str+"

随机推荐