Decimaler är viktigt i beräkningar, men det är inte alltid som man vill ha decimaler i slutresultatet. Det finns olika sätt i C++ att göra sig kvitt decimaler och nedan behandlas tre olika varianter.
Omvandla decimaltal till heltal
Antag att du har en variabel vid namn tal som är av datatypen double.
Om denna omvandlas till datatypen int så försvinner alla eventuella
decimaler. Detta kan ske så här... . . . int(tal)
. . ...eller så här... . . (int)tal
Avrunda neråt med floor
Om du inkluderar cmath så kan du avrunda neråt med funktionsanropet
floor. Du skriver då så här... . . . floor(tal)
Avrunda uppåt med ceil
Om du inkluderar cmath så kan du avrunda uppåt med funktionsanropet
ceil. Du skriver då så här... . . . ceil(tal)
I tabellen nedan kan du se en jämförelse mellan de tre olika sätten att göra sig kvitt decimaler. Vilken man väljer beror på hur man vill ha resultatet.
tal= | int(tal) | floor(tal) | ceil(tal) |
---|---|---|---|
12.34 | 12 | 12 | 13 |
8.92 | 8 | 8 | 8 |
-2.08 | -2 | -3 | -2 |
-4.97 | -4 | -5 | -4 |
Vill du testa detta lite närmare så kan du utgå från exempelkoden nedan
using namespace std;
int main()
{
cout<<endl<<" DECIMAL-KILLER"<<endl<<endl;
cout<<" Mata in ett decimaltal: ";
double dectal;
cin>>dectal;
cout<<endl<<" int ger "<<int(dectal)<<endl;
cout<<" floor ger "<<floor(dectal)<<endl;
cout<<" ceil ger "<<ceil(dectal)<<endl;
return 0;
}