Seperti saya sebutkan, Java mengkonversi int ke double secara otomatis jika perlu, sebab tidak ada informasi hilang dari konversi itu. Pada sisi lain, mengubah suatu double ke suatu int memerlukan penyelesaian. Java tidak melaksanakan operasi ini secara otomatis, sebagai programmer, anda menyadari hilangnya sebagian jumlah dari angka itu.
Cara yang paling sederhana untuk mengkonversi suatu floatingpoint ke suatu bilangan
bulat adalah menggunakan typecast. Dinamakan typecasting karena mengijinkan anda untuk mengambil suatu tipe nilai dan mengubahnya kedalam tipe lain (dalam pengertian mengubah tidak melempar). Sayangnya, sintaks untuk typecasting jelek: anda menaruh nama tipe didalam tanda kurung dan menggunakannya sebagai suatu operator. Sebagai contoh,
int x = (int) Math.PI;
Operator int mempunyai efek mengikuti bilangan bulat, maka x menghasilkan nilai 3. Typecasting harus didahulukan sebelum operasi perhitungan, maka didalam contoh yang berikut, nilai PI (22:7) menghasilkan pertama dikonversi ke suatu bilangan bulat , dan hasilnya adalah 60, bukan 62.
int x = (int) Math.PI * 20.0;
Mengubah ke suatu bilangan bulat selalu dibulatkan kebawah, sekalipun pecahannya 0.99999999. Dua properties ini (precedence dan pembulatan) dapat membuat typecast kurang bagus.
No comments:
Post a Comment