int decimalSplit(float f)
{
char s_value[60], s_integral[60], s_fractional[60];
int i, found = 0, count = 1, integral, fractional;
sprintf(s_value, "%f", f);
for (i = 0; s_value[i] != '\0'; i++)
{
if (!found)
{
if (s_value[i] == '.')
{
found = 1;
s_integral[i] = '\0';
continue;
}
s_integral[i] = s_value[i];
count++;
}
else
s_fractional[i - count] = s_value[i];
}
s_fractional[i - count] = '\0';
integral = atoi(s_integral);
fractional = atoi(s_fractional);
return integral;
}
Здравствуйте, я пытаюсь создать программу, которая разбивает число с плавающей запятой на целую часть (как int) и дробную часть (как int). Для меня также было бы обновление QoL, если программа хранит их в массиве и возвращает этот массив. (В примере кода реализация возвращает только одно целое число.) Например, 682.1 должно возвращать 682 и 1. (в массиве желательно) хочу чтобы моя программа нашла "." в данном аргументе создайте новое целое число из интегралов и сделайте другое целое число из дробей.
В онлайн-среде IDE мой код работает, однако в моем решении atmel я получаю "конфликтующие типы для ошибки" Decimalsplit ". хотел бы услышать от вас о том, где проблема.