strtod, _strtod_l, wcstod, _wcstod_l
Převod řetězce na hodnotu Dvojitá přesnost.
double strtod(
const char *nptr,
char **endptr
);
double _strtod_l(
const char *nptr,
char **endptr,
_locale_t locale
);
double wcstod(
const wchar_t *nptr,
wchar_t **endptr
);
double wcstod_l(
const wchar_t *nptr,
wchar_t **endptr,
_locale_t locale
);
Parametry
nptr
Řetězec zakončený převést.endptr
Ukazatel na znak, který zastaví skenování.locale
Národní prostředí použít.
Vrácená hodnota
strtodVrací číslo s plovoucí desetinnou čárkou, s výjimkou zastupování při způsobí přetečení případě funkce vrací hodnotu +/ –HUGE_VAL.Znaménko HUGE_VAL odpovídá znak hodnoty, které nelze znázornit.strtodVrátí hodnotu 0, pokud lze provést bez převodu nebo dochází podtečení.
wcstodVrátí hodnoty postupuje analogicky k strtod.Pro obě funkce errno je nastavena na ERANGE Pokud dojde k přetečení nebo podtečení a vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametrů.
Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr Další informace o této a dalších návratové kódy.
Poznámky
Každá funkce převede vstupní řetězec nptr se double.strtod Funkce převede nptr na hodnotu Dvojitá přesnost.strtodukončí čtení řetězce nptr nelze rozpoznat jako součást čísla prvního znaku.Může to být ukončujícím znakem null.wcstodje verze celého znaku strtod; jeho nptr je řetězec znaků wide argument.Tyto funkce chovat stejně jinak.
Obecný Text rutinní mapování
TCHAR.Rutina H |
_UNICODE & _MBCS není definován |
_MBCS, definice |
_UNICODE, definice |
---|---|---|---|
_tcstod |
strtod |
strtod |
wcstod |
_tcstod_l |
_strtod_l |
_strtod_l |
_wcstod_l |
LC_NUMERIC Kategorie nastavení aktuální národní prostředí určuje rozpoznávání znaku radix nptr*;* Další informace naleznete v tématu setlocale.Funkce bez _l příponu použít aktuální národní prostředí; _strtod_lje shodné s _strtod_l s výjimkou, že používají místo předaný národní prostředí.Další informace naleznete v tématu Národní prostředí.
Pokud endptr není NULL, ukazatel na znak, který přestal skenování je uložen v umístění odkazuje endptr.Pokud lze provést bez převodu (nebyly nalezeny žádné platné číslice nebo byl zadán neplatný base) hodnotu nptr je uložen na adrese, na kterou odkazuje endptr.
strtodočekává nptr pro řetězec následující formulář:
[whitespace] [sign] [digits] [.digits] [ {d | D | e | E}[sign]digits]
A whitespace se může skládat z místa a kartu znaky, které jsou ignorovány; signje buď plus (+) nebo minus (–); a digits jsou jeden nebo více desetinných míst.Žádné číslic se zobrazí před znak Číselná soustava, alespoň jeden musí být uvedena za znak Číselná soustava.Mohou následovat desítkových číslic exponentu tvoří úvodní písmeno (d, D, e, nebo E) a volitelně znaménkem.Exponent část ani radix znak se zobrazí, předpokládá se znak radix poslední číslice v řetězci následovat.První znak, který tento formulář nevejde zastaví skenování.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
strtod, _strtod_l |
<stdlib.h> |
wcstod, _wcstod_l |
<stdlib.h> nebo <wchar.h> |
Další informace o kompatibilitě, viz Compatibility v úvodu.
Příklad
// crt_strtod.c
// This program uses strtod to convert a
// string to a double-precision value; strtol to
// convert a string to long integer values; and strtoul
// to convert a string to unsigned long-integer values.
//
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
char *string, *stopstring;
double x;
long l;
int base;
unsigned long ul;
string = "3.1415926This stopped it";
x = strtod( string, &stopstring );
printf( "string = %s\n", string );
printf(" strtod = %f\n", x );
printf(" Stopped scan at: %s\n\n", stopstring );
string = "-10110134932This stopped it";
l = strtol( string, &stopstring, 10 );
printf( "string = %s\n", string );
printf(" strtol = %ld\n", l );
printf(" Stopped scan at: %s\n\n", stopstring );
string = "10110134932";
printf( "string = %s\n", string );
// Convert string using base 2, 4, and 8:
for( base = 2; base <= 8; base *= 2 )
{
// Convert the string:
ul = strtoul( string, &stopstring, base );
printf( " strtol = %ld (base %d)\n", ul, base );
printf( " Stopped scan at: %s\n", stopstring );
}
}
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
Podpora s plovoucí desetinnou čárkou
Výklad vícebajtové znakové sekvence
Řetězec číselné hodnoty funkce
strtol, wcstol, _strtol_l, _wcstol_l
strtoul, _strtoul_l, wcstoul, _wcstoul_l