在 C 语言中判断浮点数的方法有两种:使用 isnan() 和 isinf() 函数检查 NaN 和无穷值;使用 fmod() 函数计算余数,判断余数是否是有限值。

如何在 C 语言中判断浮点数
浮点数是一种表示实数的计算机数据类型,用于存储带有小数部分的数字。在 C 语言中,判断一个值是否为浮点数有两种方法:
1. 使用 isnan() 和 isinf() 函数
-
isnan()用来检查一个值是不是一个未定义的数 (NaN)。 -
isinf()用来检查一个值是不是正无穷或负无穷。
这些函数返回一个非零值来表示真,或 0 来表示假。例如:
立即学习“C语言免费学习笔记(深入)”;
#includeint main() { float x = NAN; // 未定义的数 float y = INFINITY; // 正无穷 if (isnan(x)) { printf("x 是一个未定义的数。\n"); } if (isinf(y)) { printf("y 是正无穷。\n"); } return 0; }
2. 使用 fmod() 函数
-
fmod()函数计算两个浮点数之间的余数。如果余数是一个有限值,则该值是一个浮点数。如果余数是无穷或 NaN,则该值不是浮点数。
例如:
#includeint main() { float x = 3.14; // 浮点数 float y = INFINITY; // 无穷 float remainder1 = fmod(x, 1.0); // 有限余数 float remainder2 = fmod(y, 1.0); // 无穷余数 if (isfinite(remainder1)) { printf("remainder1 是一个浮点数。\n"); } else { printf("remainder1 不是一个浮点数。\n"); } if (isfinite(remainder2)) { printf("remainder2 是一个浮点数。\n"); } else { printf("remainder2 不是一个浮点数。\n"); } return 0; }
上述代码将打印以下输出:
remainder1 是一个浮点数。 remainder2 不是一个浮点数。











