使用 toFixed 对十进制数字进行舍入
Rounding decimal numbers using toFixed
我对JavaScript函数toFixed(2)
有小问题。
如果我45.24859
这个十进制数四舍五入,我使用此函数会得到45.25
。
但我的问题是,如果我四舍五入10
(它没有小数部分),该函数将返回一个十进制数10.00
。
如何解决此问题?
我的问题是,如果输入一个没有小数部分的数字,该函数应该返回一个非十进制数字。
解决此问题的另一种方法
演示
.indexOf()
function roundNumber(num){
return (num.toString().indexOf(".") !== -1) ? num.toFixed(2) : num;
}
以下解决方案与所有浏览器不兼容。
或
function roundNumber(num){
return (num.toString().contains(".")) ? num.toFixed(2) : num;
}
.contains()
我们可以用这个检查数字是否是十进制的 检查一个数字是否有小数...
所以结合你可以使用这个功能
function roundNumber(num){
return num % 1 != 0 ? num.toFixed(2) : num;
}
或者我认为更好的选择是使用
Math.round(num * 100) / 100
相关文章:
- jQuery - 带有一些数字的表格计算出现奇怪的舍入错误
- 有人可以详细解释这个 JavaScript 十进制舍入函数吗?
- 在追加文本中舍入数字输出
- 通过JavaScript将数字舍入到0.11的最接近倍数
- 十进制值会自动舍入
- 使用 toFixed 对十进制数字进行舍入
- 在javascript中不带舍入的十进制比较
- 在 JavaScript 中向下舍入一个数字
- 阻止 Javascript 对大数字 ID 进行舍入
- 如何处理下拉列表的十进制值而不舍入或修剪零
- Javascript 舍入十进制值,如果十进制值大于或等于 25,则四舍五入值加一个其他明智值保持原样
- 如何在Javascript中对代码行中的数字进行舍入
- Javascript 自定义十进制舍入方法
- 添加十进制字符串并舍入到最接近的 .05
- Javascript 将数字舍入到小数点后 2 位
- JavaScript:在不影响结果准确性的情况下舍入数字
- 将数字舍入到小数点后两位,并删除任何其他小数点
- 如何使用 javascript 获取带有 2 个小数且不舍入的数字
- 在 JavaScript 中向上舍入数字有问题
- 在 Javascript 中舍入十进制数