witam
Jak mozna przekonwertowac zienna typu "double" na "int" w C+ ??
pozdr
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj siędouble, int w C+ ??
Moderatorzy:Jacek Bogusz, Moderatorzy
Witam! Napisałem wszystko w kodzie i objaśniłem nieco komentarzami; najlepiej chyba będzie go skompilować i zobaczyć . Mam nadzieję, że pomogłem i troszkę wyjaśniłem...
Pozdrawiam!
Kod: Zaznacz cały
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
double zmienna_double = 473.54;
// konwertujemy bardzo prosto :)
// zapisujemy do int'a zmienną typu double - zostanie tylko część całkowita;
// aby kompilator nie wyświetlał ostrzeżenia, można wykonać tzw. rzutowanie
// - informujemy kompilator, że CELOWO zapisujemy double do int'a
int zmienna_int = (int) zmienna_double;
cout << "double: " << zmienna_double << "\n"
<< "int: " << zmienna_int << "\n\n";
// wszyscy napewno zauważą, że liczba została przekonwertowana źle!
// przecież powinno być 474 zgodnie z zasadą zaokrąglania liczb ;)
// jest na to prosty spodób:
zmienna_double = 20.7;
zmienna_int = (int) (zmienna_double + 0.5);
// dodajemy pięć dziesiątych do liczby double... co to da?
// a no to, że jeśli dziesiętna część liczby będzie mniejsza od 5
// (np. 20.4), to po dodaniu będzie 20.9 i pozostawieniu tylko części
// całkowitej otrzymamy liczbę 20, tak jak powinniśmy. Z kolei, gdy mamy
// liczbę np. 20.7, to po dodaniu otrzymamy 21.2 i "obcięciu" części
// ułamkowej dostaniemy 21... :D
// proste i logiczne :)
cout << "double: " << zmienna_double << "\n"
<< "int: " << zmienna_int << "\n";
getch();
return 0;
}
- Darlington
- -
- Posty:574
- Rejestracja:12 lis 2007, o 18:18
- Lokalizacja:stąd!
Sory, że odkopuję, ale może komuś się przyda:
Musimy dokonać rzutowania jawnego lub niejawnego z typu double na int.
Rzutowanie niejawne:
Musimy dokonać rzutowania jawnego lub niejawnego z typu double na int.
Kod: Zaznacz cały
zmienna1=int(zmienna2);
Kod: Zaznacz cały
zmienna1=(int)zmienna2;
Kod: Zaznacz cały
zmienna1=(1/zmienna2)*zmienna2*zmienna2;
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości