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
广告
© . All rights reserved.