Dokładność do x cyfr po przecinku

Dokładność do x cyfr po przecinku
NE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Witam,

jak w c++ zrobić dokładność do x liczb po przecinku? wszędzie znajduję rozwiązanie setprecision(), ale to chyba ogólnie ustawia długość liczb? w sensie że jak jest liczba dajmy na to
float a = 333.55555
dodam kod
cout.precision(3);
cout<<a;
to wyświetla mi 333, a ja chciałbym żeby mi wyświetlało 333.555
i nie chodzi mi o to, żeby to tylko dla tej liczby było, chciałbym elastyczne rozwiązanie, które każdą liczbę zmiennoprzecinkową wyświetli mi z dokładnością do 3 cyfr po przecinku

Interpod
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 81
1

Możesz przesunąć przecinek o określoną ilość miejsc i później zaokrąglić do całości i przenieść przecinek na pierwotne miejsce np:
333,55555 * 100 = 33355,555
round(33355,55) = 33356 /zamiast rounda mozesz rzutować na integera i wtedy po prostu obetnie ci tą część
33356 / 100,00 = 333,56

  • Rejestracja: dni
  • Ostatnio: dni
1

Można też przed a dać fixed (cout<<fixed<<a;) i wyświetli 333,556

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gorlice
0

Jak ma zaokrąglać (w tym wypadku do 333.556) to już lepiej raz ustawić:

Kopiuj
#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    float a = 333.55555;
    cout << fixed;
    cout << setprecision(3);
    cout << a;
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.