<charconv>
Szybko przekonwertuj sekwencję znaków na liczbę całkowitą lub wartość zmiennoprzecinkową, a w drugą stronę. Jednym ze sposobów użycia tej biblioteki jest zapisywanie i zaokrąglenie wartości zmiennoprzecinkowych w plikach JSON i tekstowych.
Funkcje konwersji są dostrojone pod kątem wydajności, a także obsługują zachowanie najkrótszej rundy. Zachowanie najkrótszej rundy oznacza, że gdy liczba jest konwertowana na znaki, jest zapisywana wystarczająca precyzja, aby umożliwić odzyskanie oryginalnej liczby podczas konwertowania tych znaków z powrotem na zmiennoprzecinkowe. Żadna inna funkcja CRT lub STL nie zapewnia tej możliwości.
Oto niektóre zalety korzystania z <charconv>
biblioteki:
- Sekwencja znaków reprezentujących wartość liczbową nie musi być zakończona wartością null. Podobnie, gdy liczba jest konwertowana na znaki, wynik nie kończy się wartością null.
- Funkcje konwersji nie przydzielają pamięci. Jesteś właścicielem buforu we wszystkich przypadkach.
- Funkcje konwersji nie są zwracane. Zwracają strukturę zawierającą informacje o błędzie.
- Konwersje nie są uwzględniane w trybie zaokrąglania w czasie wykonywania.
- Konwersje nie są świadome ustawień regionalnych. Zawsze drukują i analizują punkty dziesiętne jako ""." nigdy nie są "", dla ustawień regionalnych, które używają przecinków.
Wymagania
Nagłówek:<charconv>
Przestrzeń nazw: std
/std:c++17
lub nowszy jest wymagany.
Elementy członkowskie
Typy
Type | Opis |
---|---|
chars_format | Określa typ formatowania, taki jak naukowy, szesnastkowy itd. |
from_chars_result | Przechowuje wynik konwersji from_chars . |
to_chars_result | Przechowuje wynik konwersji to_chars . |
Funkcje
Function | opis |
---|---|
from_chars | Konwertuj znaki na liczbę całkowitą, zmiennoprzecinkową lub podwójną. |
to_chars | Przekonwertuj liczbę całkowitą, zmiennoprzecinkową lub podwójną na znaki. |