ich den folgenden Code geschrieben haben .... Es sollte eine Zeichenfolge wie "88" auf den doppelten Wert 88 und ausdruckenString in einen double-Variable in C Umwandlung
void convertType(char* value)
{
int i = 0;
char ch;
double ret = 0;
while((ch = value[i])!= '\0')
{
ret = ret*10 +(ch - '0');
++i;
}
printf("%d",ret);//or %f..what is the control string for double?
}
//input string :88
konvertieren Aber es druckt immer 0. ..Aber wenn ich den Typ von ret in int ändere ... funktioniert es gut ... wenn der Typ float oder double ist, gibt er null aus ... also warum bekomme ich diese mehrdeutigen Ergebnisse?
Es gibt nicht so etwas wie ein String in C ;-) – Aidanc
' "% f"' oder ' "% g'"(oder' "% e" 'für exponentielles Format) wird sowohl für (float) als auch für (double) 'verwendet. – geekosaur
vergessen Sie einfach über den Titel .. :) –