Преобразование неточное - PullRequest
1 голос
/ 19 июня 2020
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
    char z[] = "9,8 2,8 3,4 2,7 0,3";
    int size = sizeof z / sizeof *z;
    for (int i = 0; i < size; i++) {
        printf("%c", z[i]);
    }
    printf("\n");
    char *dez = strtok(z, " ");
    printf("%s\n", dez);
    float z = atof(dez);

    printf("%1.1f\n", z);

    return 0;
}

вот что я получаю на консоли: 9,8 2,8 3,4 2,7 0,3

9,8

9

Мне просто нужно преобразовать dez в float и распечатать. Я использовал 1.1% f, потому что результат должен отображаться в этой форме. В конце я получаю 9 вместо 9,8, код должен быть правильным, какие-либо предложения о том, как решить эту проблему?

...