删除 javascript 中小数点后两位而不是整数的数字

Delete digits after two decimal point not round number in javascript?

本文关键字:两位 整数 数字 javascript 小数点 删除      更新时间:2023-09-26

我有这个:

i=4.568;
document.write(i.toFixed(2));

输出:

4.57

但是我不想将最后一个数字四舍五入到7,我该怎么办?

改用简单的数学;

document.write(Math.floor(i * 100) / 100);

(小提琴)

您可以将其粘贴在自己的函数中以供重用;

function myToFixed(i, digits) {
    var pow = Math.pow(10, digits);
    return Math.floor(i * pow) / pow;
}
document.write(myToFixed(i, 2));

(小提琴)

只需剪掉较长的字符串:

i.toFixed(3).replace(/'.('d'd)'d?$/, '.$1')

一个稍微复杂的方法:

var i=4.568,
    iToString = ​i + '';
    i = parseFloat(iToString.match(/'d+'.'d{2}/));
console.log(i);

这有效地获取变量i并将其转换为字符串,然后使用正则表达式匹配小数点之前的数字和小数点之后的两个数字,然后使用 parseFloat() 将其转换回数字。

引用:

  • match()
  • parseFloat() .
  • 正则表达式。