Delphi strtofloat - o funcție care convertește un șir numeric la floatstring, de exemplu la o valoare de c

Funcția StrToFloat convertește sirul numeric FloatString. de exemplu "123.456" la o valoare de virgulă mobilă de tip Extended.
Suportă un format întreg, un format în virgulă mobilă și un format științific (exponențial).







Dacă FloatString (șirul convertit) întâlnește un caracter care separă întregul de fracțiune, acesta trebuie să se potrivească cu valoarea curentă a variabilei DecimalSeparator (punct separator).

A doua versiune a acestei funcții este destinată utilizării în fluxuri. Înainte de a apela funcția, trebuie să completați intrarea FormatSettings. Funcția face o copie locală a variabilelor globale de formatare, ceea ce face ca firele să fie în siguranță.

O excepție EConvertError va fi aruncată dacă există erori în FloatString. cum ar fi spațiile de sfârșit sau simbolurile zecimale invalide.

Extins tip de virgulă cu cea mai mare precizie și capacitate







FloatToStr Convertește o valoare în virgulă mobilă unui șir

FloatToStrF Convertește o valoare în virgulă mobilă într-un șir cu formatare

TFormatSettings Scrie pentru conținutul valorilor regionale pentru funcțiile în condiții de siguranță a firului

Cod exemplu. Conversia unui șir de numere de format științific

var
StringValue. șir de caractere;
floatValue. Extended;

începe
// Setați șirul sursă care conține reprezentarea numărului
stringValue: = '123.456E + 002';

// convertiți-l la un număr în virgulă mobilă
floatValue: = StrToFloat (stringValue);

// Și arată valoarea
ShowMessage (stringValue + '=' + FloatToStr (floatValue));
se încheie;

Cod exemplu. Captură erori de conversie șir

var
A. extins;

începe
// Vom intercepta erorile de conversie
încerca
A: = StrToFloat ('10 E 2 '); // Spațiile medii nu sunt acceptate
cu excepția
privind excepția. Efectuați o eroare
ShowMessage (Exception.Message);
se încheie;

încerca
A: = StrToFloat ('$ FF'); // Valorile hexazecimale nu sunt acceptate
cu excepția
privind excepția. Efectuați o eroare
ShowMessage (Exception.Message);
se încheie;
se încheie;

'10 E 2 'nu este o valoare valabilă în virgulă mobilă
'$ FF' nu este o valoare valabilă în virgulă mobilă







Trimiteți-le prietenilor: