我可以同时使用逗号和点吗?

时间:2018-04-06 09:48:15

标签: c comma

我正在制作一个项目,我希望找到一种方法,通过允许用户同时使用“,”和“。”来使我的代码更加通用。表示十进制数。我搜索了其他问题,但只找到了使用其中一个或另一个的答案,但不是两个。也许一个函数替换逗号的所有点?

1 个答案:

答案 0 :(得分:1)

您可以将小数作为char数组读取,并用点代替所有逗号:

 #include <stdio.h>
 #include <stdlib.h>

 int main () {
    float val;
    char str[20];

    scanf("%s", str);
    for (int i = 0; str[i] != '\0'; ++i) if (str[i] == ',') str[i] = '.';
    val = atof(str);
    printf("String value = %s, Float value = %f\n", str, val);

    return(0);
}