strtod

strtod(3)                      2007-10-27-16:31                      strtod(3)



Ðазва
       strtod, strtof, strtold - пеÑеÑвоÑÑÑ ASCII-ланÑÑжок на
       ÑиÑло з плаваÑÑÐ¾Ñ ÑоÑкоÑ


ÐглÑд
       #include <stdlib.h>

       double strtod(const char *nptr, char **endptr);


       float strtof(const char *nptr, char **endptr);


       long double strtold(const char *nptr, char **endptr);


ÐпиÑ
       ФÑнкÑÑÑ strtod, strtof Ñ strtold пеÑеÑвоÑÑÑÑÑ Ð¿Ð¾ÑаÑковÑ
       ÑаÑÑÐ¸Ð½Ñ Ð»Ð°Ð½ÑÑжка, на Ñкий вказÑÑ nptr на double,
       float Ñ long double пÑедÑÑавленнÑ, вÑдповÑдно.

       ÐÑÑкÑÐ²Ð°Ð½Ð¾Ñ ÑоÑÐ¼Ð¾Ñ (поÑаÑÐºÐ¾Ð²Ð¾Ñ ÑаÑÑини)
       ланÑÑжка Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¸Ð¹ поÑаÑковий пÑобÑл,
       ÑозпÑзнаний issapace(3), можливий знак плÑÑÑ
       ("+") або мÑнÑÑÑ ("-"), а поÑÑм може ÑлÑдÑваÑи
       деÑÑÑкове ÑиÑло, або ÑÑÑÑнадÑÑÑкове, або
       неÑкÑнÑенÑÑÑÑ, або ж NAN (не ÑиÑлове знаÑеннÑ).

       ÐеÑÑÑкове ÑиÑло може ÑкладаÑиÑÑ Ð·
       непеÑеÑвний ÑÑÐ´Ñ Ð´ÐµÑÑÑÐºÐ¾Ð²Ð¸Ñ ÑиÑÑ Ð· можливим
       позиÑÑйним ÑоздÑлÑваÑем (radix character)
       (деÑÑÑковий пÑÐ½ÐºÑ Ñ Ð»Ð¾ÐºÐ°Ð»ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼, Ñк
       пÑавило - "."), з Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñ Ð´ÐµÑÑÑковоÑ
       екÑпоненÑÐ¾Ñ (показником ÑÑепенÑ). ÐеÑÑÑкова
       екÑпоненÑа може ÑкладаÑиÑÑ Ð· "E" або "e", з
       наÑÑÑпним можливим знаком плÑÑÑ Ð°Ð±Ð¾ мÑнÑÑÑ,
       пÑÑÐ»Ñ ÑÐºÐ¸Ñ ÑлÑдÑÑ Ð½Ð¸Ð·ÐºÐ° деÑÑÑÐºÐ¾Ð²Ð¸Ñ ÑиÑел, Ñ
       вказÑÑ Ð¼Ð½Ð¾Ð¶ÐµÐ½Ð½Ñ Ð½Ð° деÑÑÑий ÑÑепÑнÑ.

       ШÑÑÑнадÑÑÑкове ÑиÑло ÑкладаÑÑÑÑÑ Ð· "0x" або "0X",
       пÑÑÐ»Ñ Ñкого ÑлÑдÑÑ Ð½ÐµÐ¿ÐµÑеÑвний ÑÑд
       ÑÑÑÑнадÑÑÑÐºÐ¾Ð²Ð¸Ñ ÑиÑеÑ, з можливим позиÑÑйним
       ÑоздÑлÑваÑем (radix character), з можливоÑ
       двÑÐ¹ÐºÐ¾Ð²Ð¾Ñ ÐµÐºÑпоненÑоÑ. ÐÑнаÑна екÑпоненÑа
       ÑкладаÑÑÑÑÑ Ð· "P" або "p", з наÑÑÑпним можливим
       знаком плÑÑÑ Ð°Ð±Ð¾ мÑнÑÑÑ, з наÑÑÑÐ¿Ð½Ð¾Ñ Ð½Ð¸Ð·ÐºÐ¾Ñ
       деÑÑÑÐºÐ¾Ð²Ð¸Ñ ÑиÑел, Ñ Ð²ÐºÐ°Ð·ÑÑ Ð¼Ð½Ð¾Ð¶ÐµÐ½Ð½Ñ Ð½Ð° дÑÑгий
       ÑÑепÑнÑ. ÐÑÐ¸Ð½Ð°Ð¹Ð¼Ð½Ñ Ð°Ð±Ð¾ позиÑÑйний ÑоздÑлÑваÑ,
       або бÑнаÑна екÑпоненÑа Ð¿Ð¾Ð²Ð¸Ð½Ð½Ñ Ð±ÑÑи
       пÑиÑÑÑнÑми.

       ÐеÑкÑнÑеннÑÑÑÑ Ð¼Ð¾Ð¶Ð½Ð° вказаÑи Ñк "INF" або
       "INFINITY", не зважаÑÑи на ÑегÑÑÑÑ.

       ÐеÑиÑлове знаÑÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° вказаÑи Ñк "NAN" (не
       зважаÑÑи на ÑегÑÑÑÑ), пÑÑÐ»Ñ Ñого може ÑлÑдÑваÑи
       `(', поÑлÑдовнÑÑÑÑ Ð·Ð½Ð°ÐºÑв Ñ Ð·Ð°ÐºÑиваÑÑа `)'.
       Ðказаний ÑимволÑний ланÑÑжок - Ñе
       залежний вÑд вÑÑÐ»ÐµÐ½Ð½Ñ Ñип NAN.


ÐовеÑÐ½ÐµÐ½Ñ Ð·Ð½Ð°ÑеннÑ
       Ð¦Ñ ÑÑнкÑÑÑ Ð¿Ð¾Ð²ÐµÑÑаÑÑÑ Ð¿ÐµÑеÑвоÑене знаÑеннÑ,
       ÑкÑо Ñаке ÑÑнÑÑ.

       ЯкÑо endptr не доÑÑвнÑÑ NULL, покажÑик на знак,
       ÑозмÑÑений пÑÑÐ»Ñ Ð¾ÑÑаннÑого викоÑиÑÑаного в
       пеÑеÑвоÑеннÑ, бÑде збеÑежено в мÑÑÑÑ, на Ñке
       вказÑÑ endptr.

       ЯкÑо не вÑдбÑлоÑÑ Ð¶Ð¾Ð´Ð½Ð¾Ð³Ð¾ пеÑеÑвоÑеннÑ,
       повеÑÑаÑÑÑÑÑ Ð½ÑÐ»Ñ Ñ Ð·Ð½Ð°ÑÐµÐ½Ð½Ñ nptr бÑде
       збеÑежено в мÑÑÑÑ, на Ñке вказÑÑ endptr.

       ЯкÑо пÑавилÑне знаÑÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ñ
       пеÑеповненнÑ, повеÑÑаÑÑÑÑÑ Ð¿Ð»ÑÑ Ð°Ð±Ð¾ мÑнÑÑ Ñз
       HUGE_VAL (HUGE_VALF,  HUGE_VALL) (в залежноÑÑÑ Ð²Ñд знакÑ
       знаÑеннÑ) Ñ ERANGE бÑде збеÑежено Ñк знаÑеннÑ
       errno. ЯкÑо, навпаки, пÑавилÑне знаÑеннÑ
       виклиÑе Ð·Ð½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ (underflow), повеÑÑаÑÑÑÑÑ Ð½ÑÐ»Ñ Ñ
       ERANGE бÑде збеÑежено Ñк знаÑÐµÐ½Ð½Ñ errno.


Ðоди помилок
       ERANGE
               ÐÑдбÑлоÑÑ Ð¿ÐµÑÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ зникненнÑ.


ÐÑдповÑднÑÑÑÑ ÑÑандаÑÑам
       Ð ANSI C опиÑано strtod, Ñ C99 опиÑано ÑеÑÑÑ Ð´Ð²Ñ
       ÑÑнкÑÑÑ.


ÐивÑÑÑÑÑ Ñакож
       atof(3), atoi(3), atol(3), strtol(3), strtoul(3)




© 2005-2007 DLOU, GNU FDL     2007-10-27-16:31                      strtod(3)