zaokrąglanie do 3 miejsca po przecinku

0

Jak zaokrąglić do 3 miejsca po przecinku kolejne liczby z tablicy typu double tak żeby nie ucinało ostatniego zera ? Wiem jak zrobić żeby zaokrąglić np. liczbę 5.7595, wynikiem będzie 5.76 ale chcę żeby program wypisał 5.760.

0

Wymuś wypisywanie 3 miejsca po przecinku. Podaj język, to sie cos wymysli :)

Edit:
Łap przykład w C++

#include <iostream>
#include <iomanip> // Dla manipulatorów wywoływanych z argumentem
 
int main()
{
    double foo = 5.7595;
 
    std::cout<<foo<<"\n"
             <<std::fixed<<foo<<"\n"
             <<std::setprecision(3)<<foo<<"\n";
    return 0;
}

http://ideone.com/F88l2

0

Język c++. Czytałem, że można użyć printf i tam można zaokrąglić liczbę ale na co dzień używam cout i cin więc nie za bardzo się orientuję.

0

Dzięki, działa :)

0

Tak dla uzupełnienia, przykład z printf:

#include <cstdio>

int main()
{
 printf("%.3f\n", 0.1);
 printf("%.3f\n", 150);
 printf("%.3f\n", 123.103);
 return 0;
}

http://ideone.com/ClxhN

0

BTW gdyby chodziło o program finansowy (np. FV) to oczywiście zaokrąglenie __wyświetlania __ wyniku niewiele pomoże...

0

A jeszcze mam pytanie, bo to zaokrąglanie potrzebowałem do zadania ze spoja jednak wywala mi błąd, że przekroczono limit czasu. Wydaje mi się, że jest to spowodowane tym, że używam strumieni cin i cout zamiast scanf i printf. Czy jeśli doda się linijkę w mainie ios_base::sync_with_stdio(0); to jest równoznaczne z tym, że program będzie się wykonywał w takim samym czasie jak przy użyciu scanf i printf ?

0

może zamiast działania na liczbach zmiennoprzecinkowych w Twoim wypadku lepiej będzie pracować na integerach... zamiast 1.234 trzymać wartość 1234. przyniesie to wzrost wydajności. wyświetlanie takiej liczby wyglądało by printf("%d.%03d", liczba/1000, liczba%1000) (w przypadku dodatnich wartości)

1 użytkowników online, w tym zalogowanych: 0, gości: 1