舍入到最多2个小数位(仅当它有小数位时)(JavaScript)

时间:2017-04-19 08:41:51

标签: javascript decimal rounding

我的问题类似于this one,但有点不同。

我希望围绕最多 2位小数,但只有才有小数位

输入:

10
1.7777777
9.1

输出:

10
1.78
9.10

我如何在JavaScript中执行此操作?

2 个答案:

答案 0 :(得分:2)



var numbers = [10,1.7777777,9.1]
for ( var i = 0; i < numbers.length; i++ ) {
if ( (String(numbers[i])).match(/\./g) === null ) { // Check for decimal place using regex
console.log(numbers[i])
} else {
console.log(numbers[i].toFixed(2)); 
}}
&#13;
&#13;
&#13;

&#13;
&#13;
var numbers = [10,1.7777777,9.1]
for ( var i = 0; i < numbers.length; i++ ) {
console.log(numbers[i] % 1 ? parseFloat(numbers[i]).toFixed(2) : numbers[i]); } // If number is whole 
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以选择是否需要这些地方。

function round(v) {
    return v.toFixed(v % 1 && 2);
}

console.log([10, 1.7777777, 9.1].map(round));