在JavaScript中验证十进制数的最干净,最有效的方法是什么?
奖励积分:
测试用例:
01. IsNumeric('-1') => true
02. IsNumeric('-1.5') => true
03. IsNumeric('0') => true
04. IsNumeric('0.42') => true
05. IsNumeric('.42') => true
06. IsNumeric('99,999') => false
07. IsNumeric('0x89f') => false
08. IsNumeric('#abcdef') => false
09. IsNumeric('1.2.3') => false
10. IsNumeric('') => false
11. IsNumeric('blah') => false
Run Code Online (Sandbox Code Playgroud) 我对JavaScript函数有一个小问题toFixed(2).
如果我舍入这个十进制数45.24859,我会45.25使用这个函数.
但我的问题是,如果我舍入10(它没有小数部分),该函数将返回一个十进制数10.00.
我该如何解决这个问题?
我的问题是,如果输入一个没有小数部分的数字,该函数应该返回一个非十进制数字.
我需要检查数字是否有小数。由于您无法对float或double类型进行类型检查,因此我想到了以下代码。
$('#storePaymentForm').submit(function() {
var numberValue = document.getElementById("price").value;
if (numberValue % 1 != 0) {
return true;
}
else {
alert('U moet een bedrag invullen met twee nullen achter de commas!');
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
输入以下数字时,此代码可以正常工作:10.23但是,输入数字时10.00返回false并显示警报。我已经尝试了几件事,但是我无法弄清楚。谁能帮助我或向正确的方向指出如何检查数字是否为小数。并确保在用户输入10.00时返回true而不是false(目前是这种情况)。输入字段是数字类型。输入字段如下所示:
<input type="number" id="price" required name="price" min="0" value="0.00" step=".01">
做完sqrt()之后
如何检查结果是否只包含整数?
我在想Regex检查一个十进制 - 如果它包含一个小数,这意味着它没有均匀地分配到整数.哪个对我来说足够了.
但是这段代码不起作用......
result = sqrt(stringContainingANumber);
decimal = new RegExp(".");
document.write(decimal.test(result));
Run Code Online (Sandbox Code Playgroud)
我敢打赌,还有其他方法可以完成同样的事情.
javascript ×4
decimal ×1
jquery ×1
math ×1
numbers ×1
regex ×1
rounding ×1
sqrt ×1
validation ×1