如何在C中将一个数在小数点一分为二?

How to split a number into two at the decimal point in C?

我正在尝试将 C 中的数字在小数点处一分为二。例如,假设数字是 1.5,那么我想将其拆分为 10.5。我该怎么做?

C 标准指定了一个 modf 函数,在 <math.h> 中声明。此代码将 double x 的整数部分放入 IntegerPart 并将小数部分放入 FractionPart:

double IntegerPart;
double FractionPart = modf(x, &IntegerPart);

IntegerPartFractionPart 中的每一个都将具有与 x 相同的符号。

您可以使用 math.h 库中的 modf()

#include <stdio.h>
#include <math.h>

int main () {

   double value, fractional, integer;

   value = 8.123456;
   fractional = modf(value, &integer);

   printf("Integral part = %lf\n", integer);
   printf("Fraction Part = %lf \n", fractional);

   return(0);
}

示例来自 tutorialspoint.com