Bildirim
double atof(const char *str);
Açıklama
Str parametresi ile gösterilen karakter dizisini float bir değere çevirir ve double veri türü olan bir değer geri döndürür.
Fonksiyon, önce boşluk karakteri içermeyen ilk karakteri bulana kadar boşluk atlar. Daha sonra, bu karakterden başlayarak, kayan nokta içeriğine benzeyen karakterleri sayısal değerlere çevirir. Karakter dizisindeki son geçerli karakterden sonraki karakterler dikkate alınmaz.
Parametreler
str: Float bir değere çevrilecek olan karakter dizisidir.
Dönüş değeri
Başarı durumunda, çevrilen float değeri geri döndürür. Geçerli bir çevirme işlemi gerçekleşmediğinde, sıfır değeri geri döndürür. Eğer çevrilen değer double veri türü sınırları dışında kalırsa, belirsiz sonuçlara neden olur.
Örnek
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fonk(void);
int main(void)
{
char cdizi[40];
strcpy(cdizi, "157.46");
printf("Karakter dizisi: %s Float değer: %.2f\n", cdizi, atof(cdizi));
strcpy(cdizi, "Bilgisayar");
printf("Karakter dizisi: %s Float değer: %.2f", cdizi, atof(cdizi));
return 0;
}
Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:
Karakter dizisi: 157.46 Float değer: 157.46 Karakter dizisi: Bilgisayar Float değer: 0.00
Yukarıdaki program, önce float değere uygun karakterler içeren bir karakter dizisini sonra normal karakterler içeren bir karakter dizisini atof() fonksiyonu ile float bir değere çevirerek işlem sonuçlarını ekrana yazar.