我有一个代码,用户必须为油漆的升价...但它只接受“2.50”这样的价格,如果用户放“2”,我可以让程序将逗号转换为点,50" ?使用C!
printf ("\n How many liters of green paint we'll use? ");
scanf ("%d", &green);
printf ("\n How many liters of blue paint we'll use? ");
scanf (" %d", &blue);
printf ("\n What's the price for the liter of green paint? ");
scanf ("%f", &priceG);
fflush(stdin);
printf ("\n What's the price for the liter of blue paint? ");
scanf ("%f", &priceB);
答案 0 :(得分:1)
将输入收集到字符串并执行操作..
遍历字符串的每个字符,如果您遇到,
,请将其替换为.
在遍历时将遍历的字符放入其他字符串,找到,
后,将其替换为.
此过程可能很长,但可能有助于满足您的要求。
答案 1 :(得分:1)
您可以使用setlocale(LC_NUMERIC,"yourLocale")
中的#include <locale.h>
为小数点设置所需的区域设置。 (more infos here)
yourLocale
必须是您计算机上可用的有效区域设置字符串,并使用,
作为小数点,例如de_DE
。您可以使用locale -a
获取可用的区域设置。