BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <stdlib.h> > strtod

strtod() fonksiyonu

Bildirim

double strtod(const char *str, char **strend);

double strtod(const char *restrict str, char **restrict strend); (C99)

float strtof(const char *restrict str, char **restrict strend); (C99)

long double strtod(const char *restrict str, char **restrict strend); (C99)

Açıklama

Str parametresi ile gösterilen karakter dizisini float bir değere (double) çevirir. Strend parametre değeri NULL bir işaretçi değilse, dönüşümde kullanılan son karakterden sonraki karakteri gösteren bir işaretçi, strend tarafından gösterilen belleğe yüklenir.

Parametreler

str: Çevrilecek olan karakter dizisini gösteren bir işaretçidir.

strend: Bir karakteri gösteren işaretçiyi gösteren bir işaretçidir. Bu işaretçi fonksiyonun işlemi sona erdiğinde, geçerli son sayısal değerden sonraki ilk karakterin adresi alır.

Dönüş değeri

Başarı durumunda, çevrilen float değeri geri döndürülür. Eğer geçerli bir çevirme işlemi gerçekleştirilemezse, sıfır değeri döndürülür.

Örnek


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
   char cdizi[] = "121.75&Bilgisayar";
   char *cp;
   double ret;

   ret = strtod(cdizi, &cp);
   printf("Sayı değeri: %.2lf\n", ret);
   printf("Karakterler: %s", cp);

   return 0;
}

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar.

Sayı değeri: 121.75
Karakterler: &Bilgisayar

Program bir karakter dizisi içindeki rakamsal değerleri float bir değere çevirerek ve rakamsal olmayan değerleri doğrudan ekrana yazar.