📅  最后修改于: 2023-12-03 14:43:32.469000             🧑  作者: Mango
在Javascript中,我们经常需要对数字进行操作,而在这些操作中,有时候我们需要检查一个数字是否有小数部分。下面就介绍几种实现方式。
function hasDecimals(number){
return /^\d+\.\d+$/.test(number.toString());
}
方法说明:此方法将数字转换为字符串,然后使用正则表达式 /^d+.\d+$/ 检查数字是否有小数部分,如果存在则返回 true,否则返回 false。
使用方式:
hasDecimals(123.45); // true
hasDecimals(123); // false
hasDecimals('123.45'); // true
function hasDecimals(number){
return parseInt(number) !== parseFloat(number);
}
方法说明:此方法使用 parseInt 和 parseFloat 将数字解析为整数部分和小数部分。如果小数部分大于零,则说明数字有小数部分,返回 true,否则返回 false。
使用方式:
hasDecimals(123.45); // true
hasDecimals(123); // false
hasDecimals('123.45'); // true
function hasDecimals(number){
return (Math.round(number) !== number) || (number.toFixed(2) !== number.toString());
}
方法说明:此方法使用 Math.round 对数字进行四舍五入,然后使用 toFixed 将数字转换为两位小数。如果四舍五入后的数字与原始数字不同,或者数字的字符串表示形式与两位小数形式不同,则说明该数字有小数部分,返回 true,否则返回 false。
使用方式:
hasDecimals(123.45); // true
hasDecimals(123); // false
hasDecimals('123.45'); // true
以上就是几种检查数字是否有小数部分的方法,开发者可以根据实际需求选择其中一种方法。