Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Liczby po przecinku

Ostatnio zmodyfikowano 2021-08-23 10:51
Autor Wiadomość
krystian123456
Temat założony przez niniejszego użytkownika
Liczby po przecinku
» 2021-08-23 10:26:05
Jak zrobić żeby liczby wyświetlały po przecinku? Poniższy program pokazuje samo 0 .

C/C++
#include <iostream>
#include <iomanip>
int main()
{
   
std::setprecision( 5 );
   
double l;
   
l = 3 / 4;
   
std::cout << l << std::endl;
   
return 0;
}
P-178865
DejaVu
» 2021-08-23 10:28:17
C/C++
double l;
l = 3 / 4; //dzielenie liczb całkowitych daje wartość 0.
l = 3 / 4.0; // jeżeli co najmniej jedna liczba będzie 'rzeczywista' to otrzymasz wynik z ułamkami.
P-178866
krystian123456
Temat założony przez niniejszego użytkownika
» 2021-08-23 10:36:04
A jak do tego ustawić ile miejsc chce po przecinku początkowa setprecision(liczba) nic nie zmienia w wyjściowej wartości  
P-178868
DejaVu
» 2021-08-23 10:38:09
std::setprecision ustawia maksymalną ilość miejsc po przecinku, a nie stałą liczbę miejsc po przecinku. Czyli jak będziesz miał liczbę:
l = 2 / 3.0;
 to wówczas wypisze Ci te 5 miejsc po przecinku. Jeżeli liczba będzie krótsza to nie wyświetli nieznaczących zer.

Jeżeli chcesz zmienić sposób prezentowania wyników to poczytaj o std::fixed:
- https://www.cplusplus.com/reference/ios/fixed/
- https://en.cppreference.com/w/cpp/io/manip/fixed

Przykład:
C/C++
#include <iostream>

int main()
{
   
double a = 3.1415926534;
   
double b = 2006.0;
   
double c = 1.0e-10;
   
   
std::cout.precision( 5 );
   
std::cout << std::fixed;
   
std::cout << a << '\n' << b << '\n' << c << '\n';
   
return 0;
}
P-178869
krystian123456
Temat założony przez niniejszego użytkownika
» 2021-08-23 10:49:19
Czyli dlaczego pierwszy wynik daje 10 liczb po przecinku , a drugi wyświetla dwie liczby po przecinku ?

C/C++
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
   
double l;
   
double m = 324;
   
double o = 4353;
   
l = m / o;
   
cout << setprecision( 9 ) << l << endl;
   
cout << setprecision( 0 ) << l << endl;
   
return 0;
}
P-178870
DejaVu
» 2021-08-23 10:51:35
Pewnie musisz poczytać dokumentację, aby doczytać się jakie zachowanie jest biblioteki, gdy podasz wartość '0'.
P-178871
« 1 »
  Strona 1 z 1