跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

JavaScript中保留两位小数的方法总结

目录

一、前言

二、四舍五入相关

2.1 toFixed() 方法2.2 Math.floor() 不四舍五入 ,向下取整2.3 字符串匹配2.4 四舍五入保留2位小数2.5 四舍五入保留2位小数 不够位数,则用0替补

三、浮点数保留两位小数

3.1 将浮点数四舍五入,取小数点后2位3.2 强制保留2位小数3.3 保留两位小数 浮点数四舍五入 位数不够 不补0

四、拓展阅读

一、前言

此博文把相关保留两位小数的方法总结了一下,不同的场景用不同的方法,即用即取。

二、四舍五入相关

2.1 toFixed() 方法注意,保留两位小数,将数值类型的数据改变成了字符串类型。

var num =2.446242342;num = num.toFixed(2);console.log(num); //2.45 console.log(typeof num); // string2.2 Math.floor() 不四舍五入 ,向下取整注意,不改变数据类型。

num = Math.floor(num * 100) / 100;console.log(num); //2.44 console.log(typeof num); // number2.3 字符串匹配注意,先将数据转换为字符串,最后再转为数值类型。

num = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));console.log(num); //2.44 console.log(typeof num); // number2.4 四舍五入保留2位小数若第二位小数为0,则保留一位小数注意,数据类型不变。

function keepTwoDecimal(num) {var result = parseFloat(num);if (isNaN(result)) {alert('传递参数错误,请检查!');return false;}result = Math.round(num * 100) / 100;return result;};keepTwoDecimal(num);console.log(num); //2.44 console.log(typeof num); //number2.5 四舍五入保留2位小数 不够位数,则用0替补注意,数据类型变为字符串类型。

function keepTwoDecimalFull(num) {var result = parseFloat(num);if (isNaN(result)) {alert('传递参数错误,请检查!');return false;}result = Math.round(num * 100) / 100;var s_x = result.toString(); //将数字转换为字符串var pos_decimal = s_x.indexOf('.'); //小数点的索引值// 当整数时,pos_decimal=-1 自动补0 if (pos_decimal < 0) {pos_decimal = s_x.length;s_x += '.';}// 当数字的长度< 小数点索引+2时,补0 while (s_x.length <= pos_decimal + 2) {s_x += '0';}return s_x;}console.log(keepTwoDecimalFull(120.5)); //120.50 console.log(typeof keepTwoDecimalFull(120.5)); //string console.log(keepTwoDecimalFull(2.446242342)); //2.45 console.log(typeof keepTwoDecimalFull(2.446242342)); //string

三、浮点数保留两位小数

3.1 将浮点数四舍五入,取小数点后2位注,数据类型不变。

function toDecimal(x) {var f = parseFloat(x);if (isNaN(f)) {return;}f = Math.round(x*100)/100;return f;}console.log(toDecimal(3.1465926)); // 3.15 console.log(typeof toDecimal(3.1415926)); //number3.2 强制保留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;}console.log(toDecimal2(3.1)); // 3.10 console.log(typeof toDecimal2(3.1415926)); //string3.3 保留两位小数 浮点数四舍五入 位数不够 不补0注意,数据类型不变。

function fomatFloat(src,pos){return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);}console.log(fomatFloat(3.12645,2)); // 3.13 console.log(typeof fomatFloat(3.1415926)); //number以上就是常用的js保留两位小数的方法,希望对大家有帮助!

四、拓展阅读

JavaScript 浮点数精度计算到此这篇关于JavaScript中保留两位小数的方法总结的文章就介绍到这了,更多相关JavaScript保留两位小数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:js保留两位小数最简单的实现方法javascript保留两位小数的实现方法你了解吗js保留两位小数方法总结javascript实现保留两位小数的多种方法JavaScript保留两位小数的2个自定义函数JS格式化数字保留两位小数点示例代码

相关文章