首页 > 编程笔记

C语言modf():将浮点数分解为整数部分和小数部分

modf() 是 C语言的一个标准库函数,定义在<math.h>头文件中。

modf() 函数用于将浮点数分解为整数和小数部分,它的原型如下:
double modf(double value, double *iptr);

参数

返回值

返回 value 的小数部分,符号与 value 相同,并且在绝对值上小于 1。

如果 value 是 NaN 或无穷大,那么 modf() 返回该值,并将整数部分存储为 NaN 或无穷大。

【实例】以下 C语言代码示例演示了用 modf() 函数将几个浮点数分解为整数和小数部分。
#include <stdio.h>
#include <math.h>

int main() {
  double numbers[] = {123.456, -789.012, 0.0, 3.141592};
  double intPart;
  double fracPart;

  for(int i = 0; i < 4; i++) {
    fracPart = modf(numbers[i], &intPart);
    printf("Number: %.6f = Integer Part: %.0f + Fractional Part: %.6f\n", numbers[i], intPart, fracPart);
  }

  return 0;
}
输出结果为:

Number: 123.456000 = Integer Part: 123 + Fractional Part: 0.456000
Number: -789.012000 = Integer Part: -789 + Fractional Part: -0.012000
Number: 0.000000 = Integer Part: 0 + Fractional Part: 0.000000
Number: 3.141592 = Integer Part: 3 + Fractional Part: 0.141592

推荐阅读