kategoria: ANSI C
[#1] [C] Konwersja ASCII na DOUBLE
Mam taka zagwozdke: w jaki sposob liczbe zapisana tekstowo przekonwetrowac na DOUBLE, np:

1234.456 (text) -> 1234.456 (double).

Chce poprostu po konwersji przypisac ten tekst do zmiennej typu DOUBLE
Czy istnieje jakas funckja w C ktora to z robi z automatu, czy tez samemu trzba pokombinowac?
[wyróżniony] [#2] Re: [C] Konwersja ASCII na DOUBLE

@Phibrizzo, post #1

Użyj funkcji: atof(text),
Zwraca double, jest w standardowej bibliotece
[wyróżniony] [#3] Re: [C] Konwersja ASCII na DOUBLE

@Phibrizzo, post #1

atof()?
[#4] Re: [C] Konwersja ASCII na DOUBLE

@abcdef, post #3

Dzieki
Ze tez nie pomyslalem. O atoi() oraz atol() wiedzialem.
No coz, naprostrze rozwiazania sa czasami faktycznie najtrudniejsze.
[#5] Re: [C] Konwersja ASCII na DOUBLE

@Phibrizzo, post #4

Tylko jeszcze jedna uwaga do tej konwersji stringa na liczbę zmiennoprzecinkową. Możne się zdarzyć, że liczba z przecinkiem nie będzie uznawana za liczbę zmiennoprzecinkową, a liczba z kropką będzie (albo odwrotnie). Ma to związek z localami na danym systemie. I nie mam tutaj na myśli tylko amigowych systemów. Kiedyś się z tym zetknąłem ale już nie pamiętam na jakiej platformie. Pomogło ustawienie czegoś takiego gdzieś na początku programu:

setlocale(LC_ALL, "C");

No i wcześniej trzeba jeszcze zaincludować:
#include <locale.h>

Możliwe, że zamiast LC_ALL wystarczy użyć LC_NUMERIC. Więcej informacji tutaj:
http://www.cplusplus.com/reference/clocale/setlocale/

Ostatnia aktualizacja: 06.06.2021 20:01:49 przez MDW
2
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem