Konversi Ganda ke Panjang di Jawa

1. Ikhtisar

Dalam tutorial ini, kita akan menjelajahi berbagai metode untuk mengonversi dari ganda menjadi panjang di Java.

2. Menggunakan Type Casting

Mari kita periksa cara mudah untuk mentransmisikan ganda menjadi panjang menggunakan operator transmisi:

Assert.assertEquals(9999, (long) 9999.999);

Menerapkan operator cor (panjang) pada nilai ganda 9999.999 menghasilkan 9999.

Ini adalah konversi primitif yang menyempit karena kita kehilangan presisi. Ketika dobel dilemparkan menjadi long , hasilnya akan tetap sama, tidak termasuk koma desimal.

3. Menggunakan Double.longValue

Sekarang, mari kita menjelajahi ganda ini built-in metode longValue untuk mengkonversi ganda untuk panjang :

Assert.assertEquals(9999, Double.valueOf(9999.999).longValue());

Seperti yang kita lihat, menerapkan longValue metode pada ganda nilai 9999.999 hasil 9999. Secara internal, yang longValue metode adalah melakukan cast sederhana .

4. Menggunakan Metode Matematika

Terakhir, mari kita lihat cara mengonversi dua kali lipat menjadi panjang menggunakan metode bulat, langit-langit, dan lantai dari kelas Matematika :

Pertama mari kita periksa Math.round. Ini menghasilkan nilai yang paling dekat dengan argumen:

Assert.assertEquals(9999, Math.round(9999.0)); Assert.assertEquals(9999, Math.round(9999.444)); Assert.assertEquals(10000, Math.round(9999.999));

Kedua, Matematika. ceil akan menghasilkan nilai terkecil yang lebih besar dari atau sama dengan argumen:

Assert.assertEquals(9999, Math.ceil(9999.0), 0); Assert.assertEquals(10000, Math.ceil(9999.444), 0); Assert.assertEquals(10000, Math.ceil(9999.999), 0);

Di sisi lain, Math.floor melakukan kebalikan dari Math.ceil. Ini mengembalikan nilai terbesar yang kurang dari atau sama dengan argumen:

Assert.assertEquals(9999, Math.floor(9999.0), 0); Assert.assertEquals(9999, Math.floor(9999.444), 0); Assert.assertEquals(9999, Math.floor(9999.999), 0);

Perhatikan bahwa Math.ceil dan Math.round mengembalikan nilai ganda , tetapi dalam kedua kasus, nilai yang dikembalikan setara dengan nilai panjang .

5. Kesimpulan

Pada artikel ini, kami telah membahas berbagai metode untuk mengonversi double menjadi long di Java. Sangat disarankan untuk memiliki pemahaman tentang bagaimana setiap metode berperilaku sebelum menerapkannya ke kode misi-kritis.

Kode sumber lengkap untuk tutorial ini tersedia di GitHub.