- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - modf() 函数
C 库函数 modf(double x, double *integer) 返回双精度浮点数类型的分数部分(小数点后的部分),并将整数部分设置到 integer 指针指向的位置。
语法
以下是 C 库函数 modf() 的语法:
double modf(double x, double *integer)
参数
此函数接受两个参数:
x − 这是浮点值。
integer − 这是指向存储整数部分的对象的指针。
返回值
此函数返回 x 的分数部分,符号与 x 相同。
示例 1:处理正值
以下是演示 C 库函数 modf() 的基本代码。
#include<stdio.h>
#include<math.h>
int main () {
double x, fractpart, intpart;
x = 8.123456;
fractpart = modf(x, &intpart);
printf("Integral part = %lf\n", intpart);
printf("Fraction Part = %lf \n", fractpart);
return(0);
}
输出
执行上述代码后,我们将得到以下结果:
Integral part = 8.000000 Fraction Part = 0.123456
示例 2:处理负值
下面的程序计算值为 y 的整数部分和小数部分。也可以将此值替换为其他值,例如用户分配的值。
#include <stdio.h>
#include <math.h>
int main() {
// Replace with your desired negative value
double y = -8.64329;
double int_part, frac_part;
frac_part = modf(y, &int_part);
printf("Original value: %.6lf\n", y);
printf("Integer part: %.0lf\n", int_part);
printf("Fractional part: %.6lf\n", frac_part);
return 0;
}
输出
执行代码后,我们将得到以下结果:
Original value: -8.643290 Integer part: -8 Fractional part: -0.643290
广告