如何实现parseFloat保留小数点后2位
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现parseFloat保留小数点后2位相关的知识,希望对你有一定的参考价值。
参考技术A 以下我们将为大家介绍 javascript 保留两位小数的实现方法:四舍五入
以下处理结果会四舍五入:
var num =2.446242342;
num = num.toFixed(2); // 输出结果为 2.45
不四舍五入
以下处理结果不会四舍五入:
第一种,先把小数边整数:
Math.floor(15.7784514000 * 100) / 100
// 输出结果为 15.77
第二种,当作字符串,使用正则匹配:
Number(15.7784514000.toString().match(/^\d+(?:\.\d0,2)?/))
// 输出结果为 15.77,不能用于整数如 10 必须写为10.0000
注意:如果是负数,请先转换为正数再计算,最后转回负数
javascript保留两位小数的实例:
<script type="text/javascript">
//保留两位小数
//功能:将浮点数四舍五入,取小数点后2位
function toDecimal(x)
var f = parseFloat(x);
if (isNaN(f))
return;
f = Math.round(x*100)/100;
return f;
//制保留2位小数,如:2,会在2后面补上00.即2.00
function toDecimal2(x)
var f = parseFloat(x);
if (isNaN(f))
return false;
var f = Math.round(x*100)/100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0)
rs = s.length;
s += '.';
while (s.length <= rs + 2)
s += '0';
return s;
function fomatFloat(src,pos)
return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
//四舍五入
alert("保留2位小数:" + toDecimal(3.14159267));
alert("强制保留2位小数:" + toDecimal2(3.14159267));
alert("保留2位小数:" + toDecimal(3.14559267));
alert("强制保留2位小数:" + toDecimal2(3.15159267));
alert("保留2位小数:" + fomatFloat(3.14559267, 2));
alert("保留1位小数:" + fomatFloat(3.15159267, 1));
//五舍六入
alert("保留2位小数:" + 1000.003.toFixed(2));
alert("保留1位小数:" + 1000.08.toFixed(1));
alert("保留1位小数:" + 1000.04.toFixed(1));
alert("保留1位小数:" + 1000.05.toFixed(1));
//科学计数
alert(3.1415.toExponential(2));
alert(3.1455.toExponential(2));
alert(3.1445.toExponential(2));
alert(3.1465.toExponential(2));
alert(3.1665.toExponential(1));
//精确到n位,不含n位
alert("精确到小数点第2位" + 3.1415.toPrecision(2));
alert("精确到小数点第3位" + 3.1465.toPrecision(3));
alert("精确到小数点第2位" + 3.1415.toPrecision(2));
alert("精确到小数点第2位" + 3.1455.toPrecision(2));
alert("精确到小数点第5位" + 3.141592679287.toPrecision(5));
</script>本回答被提问者采纳
avascript实现保留两位小数一位自动补零。
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; } }
示例2:
<script> tmp = "1234567.57232" result = tmp.substr(0,tmp.indexOf(".")+3); alert(result); </script>
以上是关于如何实现parseFloat保留小数点后2位的主要内容,如果未能解决你的问题,请参考以下文章