我正在使用JavaScript中的函数。我拿了两个变量x和y。
我需要将两个变量分开并在屏幕上显示结果:
x=9; y=110;
x/y;
然后我得到结果:
0.08181818181818181
我需要使用我在其他帖子中找到的BigDecimal.js
等内容。
我希望结果显示为:
0.081
答案 0 :(得分:18)
尝试这个,它在昏迷后四舍五入到数字:
(x/y).toFixed(3);
现在你的结果将是一个字符串。如果你需要浮动只需:
parseFloat((x/y).toFixed(3));
答案 1 :(得分:4)
你可以这样做
Math.round(num * 1000) / 1000
这将正确地围绕它。如果您希望截断而不是实际舍入,则可以使用floor()
代替round()
答案 2 :(得分:4)
使用此选项将0.818181 ...舍入为0.81:
x = 9/110;
Math.floor(x * 1000) / 1000;
答案 3 :(得分:2)
试试这个
var num = x/y;
parseFloat((Math.round(num * 100) / 100).toPrecision(3))
答案 4 :(得分:0)
如果我使用简单的表达式,结果可能是意外的:
const fraction = (value) => {
return value - Math.floor(value);
}
fraction(1 / 3);
=> 0.333333333333 // is Right
fraction(22 / 3);
=> 0.33333333333333304 // is Unexpected
所以,我的可靠表达是:
const fraction = (value) => {
return parseFloat(value.toString().replace(/^\d+$/, '0').replace(/^.+?(?=\.)/, ''))
}
fraction(22 / 3);
=> 0.333333333333333
fraction(1111)
=> 0
fraction(.122211)
=> 0.122211
fraction(11111.122211)
=> 0.122211
fraction(11111.12)
=> 0.12
fraction(11111.11112)
=> 0.11112