dot*_*tty 26 javascript rounding
我想将所有数字转换为最接近的.25
所以...
5 becomes 5.00
2.25 becomes 2.25
4 becomes 4.00
3.5 becomes 3.50
Run Code Online (Sandbox Code Playgroud)
谢谢
Gum*_*mbo 91
这是rslite所说的实现:
var number = 5.12345;
number = (Math.round(number * 4) / 4).toFixed(2);
Run Code Online (Sandbox Code Playgroud)
rsl*_*ite 65
乘以4,舍入为整数,除以4,格式为两位小数.
编辑 downvotes的任何理由?至少留下评论,知道应该改进什么.
Phr*_*ogz 12
如果您关心速度,请注意使用以下方法可以提高30%的速度:
var nearest = 4;
var rounded = number + nearest/2 - (number+nearest/2) % nearest;
Run Code Online (Sandbox Code Playgroud)
从我的网站:http
://phrogz.net/round-to-nearest-via-modulus-division这里的性能测试:http://jsperf.com/round-to-nearest
这是一个进行舍入的通用函数.在上面的例子中,使用了4,因为它与.25相反.此功能允许用户忽略该细节.它目前不支持预设精度,但可以轻松添加.
function roundToNearest(numToRound, numToRoundTo) {
numToRoundTo = 1 / (numToRoundTo);
return Math.round(numToRound * numToRoundTo) / numToRoundTo;
}
Run Code Online (Sandbox Code Playgroud)
这是@Gumbo 以函数形式给出的答案:
var roundNearQtr = function(number) {
return (Math.round(number * 4) / 4).toFixed(2);
};
Run Code Online (Sandbox Code Playgroud)
您现在可以拨打电话:
roundNearQtr(5.12345); // 5.00
roundNearQtr(3.23); // 3.25
roundNearQtr(3.13); // 3.25
roundNearQtr(3.1247); // 3.00
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18963 次 |
| 最近记录: |