C语言modf():将浮点数分解为整数部分和小数部分
modf() 是 C语言的一个标准库函数,定义在
modf() 函数用于将浮点数分解为整数和小数部分,它的原型如下:
如果 value 是 NaN 或无穷大,那么 modf() 返回该值,并将整数部分存储为 NaN 或无穷大。
【实例】以下 C语言代码示例演示了用 modf() 函数将几个浮点数分解为整数和小数部分。
<math.h>
头文件中。modf() 函数用于将浮点数分解为整数和小数部分,它的原型如下:
double modf(double value, double *iptr);
参数
- value:想要分解的浮点数。
- iptr:一个指向 double 类型的指针,用于存储 value 的整数部分,符号与 value 相同。
返回值
返回 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