白衣非少年
考虑利用双波浪号:~~。输入号码。乘以小数点后的有效数字,以便您可以使用截断到零位~~。再除以该乘数。利润。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.逻辑在寻找这种用法时有些古怪,可能会受益于快速重构。但它仍然有效。幸运总比不好好。