重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果保留两位小数时需要四舍五入:
官渡网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
var num=3.446242342;
num=num.toFixed(2);
如果不希望四舍五入,则:
var num=3.446242342;
num=parseInt(num*100)/100;
以下我们将为大家介绍 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+(?:\.\d{0,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
直接使用Math.round(x*100)存在一个问题,有时会有很小的误差,显示很多位的小数位,如0.9996*100,就会变成99.96000000000001,我想要的在下面,感兴趣的朋友可以参考下哈
Math.round(x*100)/100,当然我要的是Math.round(x*100),这没有关系。但直接使用
Math.round(x*100)存在一个问题,有时会有很小的误差,显示很多位的小数位,如0.9996*100,就会变成
99.96000000000001,这不是我想要的。
查找javascript的功能,number类型有一个toFixed()函数,测试:
复制代码
代码如下:
alert((0.9996*100).toFixed(2));
使用Number.toFixed()可以格式数字显示任意的小数位!
//保留2位小数
function to2bits(flt) {
if (parseFloat(flt) == flt)
return Math.round(flt * 100) / 100;
// 到4位小数, return Math.round(flt * 10000) / 10000;
else
return 0;
}
需要准备的材料分别是:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
2、在index.html的script标签中,输入js代码:var a = '2.71828';var b = parseInt(a * 100) / 100;document.body.innerText = b;。
3、浏览器运行index.html页面,此时会发现打印出的两位小数是截取而不是四舍五入。
可以通过以下方法:
var toFloat = function (value) {
value = Math.round(parseFloat(value) * 100) / 100;
if (value.toString().indexOf(".") 0) {
value = value.toString() + ".00";
}
return value;
}
avaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。