mam zmienną double, która po operacji ma wartość 306.01967999999999
a na std::cout wychodzi 306.02
co można poradzić, aby wyświetlany wynik był precyzyjniejszy?
mam zmienną double, która po operacji ma wartość 306.01967999999999
a na std::cout wychodzi 306.02
co można poradzić, aby wyświetlany wynik był precyzyjniejszy?
_13th_Dragon napisał(a):
cout.setf(ios::fixed);
cout<<setw(5)<<zmienna;
dzięki za odpowiedź, ale nie o to mi chodzi - czy można jakoś tak coś zrobić z liczbą, żeby nie trzeba było używać formatowania strumienia?
możesz ją zaokrąglić, ale tak jest lepiej
co można poradzić, aby wyświetlany wynik był precyzyjniejszy?
akurat liczba 306.01967999999999 jest bardziej precyzyjna niż 306.02 ...
// a sorry nie zrozumiałem tematu - chcesz jednak na odwrót :P
Nie musisz nic robić z liczbą: http://ideone.com/eLW77E
Liczby 0.1 i tak nie da się zapisać dokładnie w systemie binarnym więc nie da rady cokolwiek robić z liczbą.
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.