2012-07-12 344 views
-3

我需要將3個字符(「123」)的char *字符串轉換爲帶有兩個小數位(1.23)的浮點數。C語言:將3個字符(「123」)轉換爲%.2f(1.23)

+0

這個轉換是否是任意的?或者它是由3個數字組成的任意3個字符的字符串,將被轉換爲像x.xx這樣的浮點數? – 2012-07-12 20:17:34

+3

StackOverflow不是您的研究助理。 – 2012-07-12 20:18:03

+0

不一定是三開始,但我將長度爲1,2,3,4或5個字符的字符串轉換爲貨幣格式($ 1.23) – user1486548 2012-07-12 20:20:05

回答

5

您可以使用atoi,它將ASCII轉換爲整數。然後將該int轉換爲float。

int num = atoi(string); 
float f = num/100.0f; 
printf ("%.2f", f); 
+0

爲什麼atof()? atoi()工作在我的情況,但atof()沒有 – user1486548 2012-07-12 20:26:41

+3

@比爾尼爾森 - 更喜歡'atrt'上的'strtol';更喜歡'雙'到'浮動'。 – 2012-07-12 22:13:14

相關問題