?方法1:?parseInt + toFixed
/*
* 保留2位小數,不四舍五入
* 5.992550 =>5.99 , 2 => 2.00
* */
const toFixed2Decimal = (value) => {return (parseInt(value*100)/100).toFixed(2)
}
console.log(587.67*100)
console.log(toFixed2Decimal(587.67))
console.log(toFixed2Decimal(-0.1123456))
console.log(toFixed2Decimal(-1))
console.log(toFixed2Decimal('-12.999'))
console.log(toFixed2Decimal('-12.99999'))
module.exports = {toFixed2Decimal: toFixed2Decimal
}
輸出 :
58766.99999999999
587.66
-0.11
-1.00
-12.99
-12.99
?有問題:?587.67?轉換之后?587.66?
方法2:Math.floor + tofixed
const toFixed2Decimal = (value) => {return (Math.floor(value*100)/100).toFixed(2)
}console.log(toFixed2Decimal(-0.1123456))
console.log(toFixed2Decimal(-1))
console.log(toFixed2Decimal('-12.999'))
console.log(toFixed2Decimal('-12.99999'))
輸出:
-0.12
-1.00
-13.00
-13.00??
有問題-12.99?得出-13.00?
想哭啊。2種方法出來的錢的值都不對。