Как разделить число на два с десятичной запятой в C? - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь разделить число в C на два с десятичной точкой. Например, предположим, что это номер 1.5, а затем я хочу разделить его на 1 и 0.5. Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 06 мая 2020

Вы можете использовать modf() из math.h библиотеки:

#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

2 голосов
/ 06 мая 2020

Стандарт C определяет функцию modf, объявленную в <math.h>. Этот код помещает целую часть double x в IntegerPart и дробную часть в FractionPart:

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

Каждый из IntegerPart и FractionPart будет иметь одинаковый знак. как x.

...