点后我需要有2个符号

pzz*_*tzz 4 javascript php

可能重复:
如何在JavaScript中将数字格式化为金钱?
格式编号始终显示2位小数
如何舍入到2位小数?

在PHP中,我可以执行以下操作以舍入到2个小数位;

$number = 3.45667;
$result = number_format($number, 2, '.', ''); // 3.46
Run Code Online (Sandbox Code Playgroud)

我怎样才能在JavaScript中做同样的事情?

Rus*_*ias 6

var number = 3.45667;
number.toFixed(2)
// returns "3.46"
Run Code Online (Sandbox Code Playgroud)

toFixed()是小数点后出现的位数.它也会在0上填充以适合输入大小.


Lin*_*een 5

var number = 3.45667;
number = Math.round(100 * number) / 100;
Run Code Online (Sandbox Code Playgroud)

然而,这不会像PHP一样工作number_format().即它不会将2.4转换为2.40.为了实现这一点,您需要更多:

number = number.toString();
if (!number.match(/\./))
    number += '.';
while (!number.match(/\.\d\d$/))
    number += '0';
Run Code Online (Sandbox Code Playgroud)

  • 你的第一个解决方案不正确 考虑它如何适用于0.005 (2认同)