我不知道如何將字符串值轉換爲double或float。以下是我想要轉換的示例字符串:"3.45667"
。我正在努力處理點。將字符串轉換爲浮點數而不使用內置函數c
我試過,但它不工作:
#include<stdio.h>
int main()
{
char string_array[] = { "3.45667" };
float float_array[20], index = 0;
for(index = 0 ; index < 7 ; index++)
{
if(string_array[index] == '.')
{
printf("dot");
// here, how to add dot to the float_array?
} else
{
float_array = (float)(string_array[index] - '0');
}
}
return 0;
}
如何在上面的代碼中添加一個小數點?我認爲這可以用指數形式完成,但我不知道如何使用指數形式。
這是行不通的。由於指針「* s」永遠不會遞增,因此存在無限循環。此外,如果您修復該問題,則不處理小數點右邊的數字。 – 2011-08-17 17:57:55
@Colt,S在同時塊的最後一行的每一個循環遞增。錯誤處理應該是一個塊,當然,縮進明確指出s ++不是它的一部分。但是,如果您願意,我會添加一個分號以使其適合複製和粘貼,這顯然是唯一重要的事情。鑑於此,你的其他陳述純屬虛假。 – Ingo
@Ingo感謝您提供正確的解決方案 – Srini