Tutaj mój problem: chcę napisać float z maksymalnie dwoma miejscami po przecinku do napisu i wydrukować go bez kilku zer za numerem.C++ float to string o określonej długości
Sposób, w jaki to zrobić w tej chwili:
Values Material; // Class 'Values', Object 'Material'
Material.Temp = 15.56; // 'Temp' = float
string ss = to_string(Material.Temp); // Conversion to string
const char* cNumber = ss.c_str(); // Conversion to const char
HPDF_Page_ShowText(page, cNumber);
To wypisuje: +15,56000000
HPDF_Page_ShowText
jest polecenie z open source libharu biblioteki do tworzenia dokumentów PDF. Oczekuje (page-object, *const char)
. Z tego powodu ciąg musi zostać najpierw przekształcony w const char*
.
Naprawdę szukałem w Internecie podobnych problemów, ale nie znalazłem żadnego, który by pasował do mojego.
Czy "#include" może ci się przydać? Możesz użyć polecenia 'setprecision (2)' i powinno ono uciąć liczbę zmiennoprzecinkową. Chyba, że naprawdę potrzebujesz go w formacie smyczkowym? –
Sailanarmo