截断(不舍入)JavaScript中的十进制数字

我试图将十进制数字截断到小数位。像这样:


5.467   -> 5.46  

985.943 -> 985.94

toFixed(2)所做的只是正确的事情,但是却舍入了价值。我不需要四舍五入的价值。希望这是可能的JavaScript。


慕尼黑的夜晚无繁华
浏览 461回答 3
3回答

白衣非少年

考虑利用双波浪号:~~。输入号码。乘以小数点后的有效数字,以便您可以使用截断到零位~~。再除以该乘数。利润。function truncator(numToTruncate, intDecimalPlaces) {        var numPower = Math.pow(10, intDecimalPlaces); // "numPowerConverter" might be better    return ~~(numToTruncate * numPower)/numPower;}我试图抵制将~~通话包装在括号中;我相信,操作顺序应该可以使它正常工作。alert(truncator(5.1231231, 1)); // is 5.1alert(truncator(-5.73, 1)); // is -5.7alert(truncator(-5.73, 0)); // is -5JSFiddle链接。编辑:回头看,我也无意间也处理了一些情况,也将小数点后的四舍五入。alert(truncator(4343.123, -2)); // gives 4300.逻辑在寻找这种用法时有些古怪,可能会受益于快速重构。但它仍然有效。幸运总比不好好。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript