Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Jak przekonwertować zmienną typu string na float w C++ ( i na odwrót)?

#1
Ściana  Jak przekonwertować zmienną typu string na float w C++ ( i na odwrót)?
Piszę program który wczytuje z klawiatury jakieś wyrażenie [np. 9+4*(2+5)]. Jednak do jego wykonania potrzebna mi jest zamiana zmiennej typu string na float, coś w rodzaju FloatToStr(), którego można użyć w Delphi. Próbowałem czegoś podobnego oraz za pomocą static_cast, ale to generowało błędy, więc utknąłem. Proszę o pomoc.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#2
RE: Jak przekonwertować zmienną typu string na float w C++ ( i na odwrót)?
http://www.cplusplus.com/reference/clibr.../atof.html
 System operacyjny: linux_gentoo Przeglądarka: opera
#3
RE: Jak przekonwertować zmienną typu string na float w C++ ( i na odwrót)?
Sprawdziłem to ale mi nie działa.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#4
RE: Jak przekonwertować zmienną typu string na float w C++ ( i na odwrót)?
Jacek-91 napisał(a):Sprawdziłem to ale mi nie działa.
Możesz rozwinąć myśl? Kompilator wyrzuca jakiś błąd?
 System operacyjny: windows_xp_2003 Przeglądarka: opera
#5
RE: Jak przekonwertować zmienną typu string na float w C++ ( i na odwrót)?
Deklaracja zmiennych
Kod:
int li1, li2;
string liczby[10];
Do poniższej linijki:
Kod:
li1 = strtod(liczby[i], NULL);
wyświetla mi błąd:
error C2664: 'strtod' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

a do tej:
Kod:
liczby[i] = atof(li1 * li2);
błąd jest następujący:
error C2664: 'atof' : cannot convert parameter 1 from 'int' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#6
RE: Jak przekonwertować zmienną typu string na float w C++ ( i na odwrót)?
Jacek-91 napisał(a):Do poniższej linijki:
Kod:
li1 = strtod(liczby[i], NULL);
wyświetla mi błąd:
error C2664: 'strtod' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1. Skoro chcesz przekonwertować string do float, to dlaczego deklarujesz zmienne, do których będziesz zapisywał wynik konwersji, jako int? Powinno być float.
2. Funkcja strtod przyjmuje jako pierwszy parametr zmienną typu char, więc musisz przekonwertować string do char.
Kod:
...
float li1, li2;
string liczby[10];
...
li1 = strtod(liczby[i].c_str(), NULL);
...

Jacek-91 napisał(a):a do tej:
Kod:
liczby[i] = atof(li1 * li2);
błąd jest następujący:
error C2664: 'atof' : cannot convert parameter 1 from 'int' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Z tego co widzę, to chcesz przekonwertować float do string. Funckja atof służy do konwersji string do float. Nie przekonwertuje float do string.
Możesz zrobić to tak:
Kod:
...
sprintf((char*)liczby[i].c_str(), "%f", li1 * li2);
string tmp = liczby[i].c_str();
...
 System operacyjny: windows_xp_2003 Przeglądarka: opera
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
float to stringc++ konwersja string na floatqt zmienna float do stringafloat+to+stringc++ zmienianie stringa na floatc++ zamiana string na floatc++ zamiana float na stringc++ string to floatc++ rzutowanie string na floatzamiana string na float c++

Podobne wątki (Jak przekonwertować zmienną typu string na float w C++ ( i na odwrót)?)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [VBS] String TheJohan8 5 8552 08.08.2017, 00:11
Ostatni post: Ajgor
  Jak napisać program typu konsola poleceń? toslaw1 6 8876 29.06.2017, 18:58
Ostatni post: toslaw1
  [SQL] Porównywanie String-ów Cixi 1 8008 15.03.2016, 11:30
Ostatni post: koneton

Skocz do:


Wybrane wątki (Jak przekonwertować zmienną typu string na float w C++ ( i na odwrót)?)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Python z wiersza poleceń Physicist 15 9957 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 5012 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 3406 07.08.2019 12:43
Ostatni post: aht
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 4994 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 4944 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 4884 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 6666 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 2948 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 6303 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 6660 17.04.2019 10:20
Ostatni post: ptrick
  C++ - sens pogłębiania nauki gbr 5 7117 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 6805 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 5982 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 9072 21.03.2019 01:28
Ostatni post: UnableToSee
  [C#] Program do moderacji czatów gier wiktrom12 0 6364 07.03.2019 15:33
Ostatni post: wiktrom12