c语言如何让数字遇到小数输出小数遇到整数输出整数
时间: 2024-10-21 15:15:18 浏览: 14
在 C 语言中,如果你有一个变量存储的是浮点数(double 或 float),而你想根据它是否是整数部分来进行格式化输出,可以使用 `fprintf` 函数结合格式控制符来实现。你可以检查小数部分是否接近于0来判断整数还是小数。
例如:
```c
#include <stdio.h>
#include <math.h> // 需要包含 math.h 来使用 floor 函数
void print_number(double num) {
double int_part = floor(num); // 取整数部分
double frac_part = modf(num, &int_part); // 获取小数部分
if (fabs(frac_part) < 1e-6 || frac_part == 0) { // 如果小数部分非常接近0,视为整数
printf("%d", (int)num); // 输出整数
} else {
printf("%.2f", num); // 输出保留两位小数的小数
}
}
int main() {
double num1 = 42.0;
double num2 = 42;
print_number(num1);
print_number(num2);
return 0;
}
```
在这个示例中,如果 `frac_part` 小于一个极小的值(比如 `1e-6` 或者更小),我们就认为它是整数并直接输出。否则,我们按照指定精度(这里设置为2位小数)输出小数。
阅读全文