📜  js 检查数字是否有小数 - Javascript(1)

📅  最后修改于: 2023-12-03 14:43:32.469000             🧑  作者: Mango

JS 检查数字是否有小数 - Javascript

在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
方法二:使用 parseInt 和 parseFloat 检查小数部分是否大于零
function hasDecimals(number){
  return parseInt(number) !== parseFloat(number);
}
  • 方法说明:此方法使用 parseInt 和 parseFloat 将数字解析为整数部分和小数部分。如果小数部分大于零,则说明数字有小数部分,返回 true,否则返回 false。

  • 使用方式:

hasDecimals(123.45); // true
hasDecimals(123); // false
hasDecimals('123.45'); // true
方法三:使用 Math.round 和 toFixed 检查小数部分是否存在
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

以上就是几种检查数字是否有小数部分的方法,开发者可以根据实际需求选择其中一种方法。