Tukar Double ke Long di Java

1. Gambaran keseluruhan

Dalam tutorial ini, kita akan meneroka pelbagai kaedah untuk menukar dari dua kali ganda menjadi panjang di Jawa.

2. Menggunakan Casting Jenis

Mari kita lihat cara yang mudah untuk membuang double untuk lama menggunakan operator pelakon:

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

Menerapkan pengendali pelakon (panjang) pada nilai ganda 9999.999 menghasilkan 9999.

Ini adalah penukaran primitif yang menyempit kerana kita kehilangan ketepatan. Apabila ganda dilambung ke panjang , hasilnya akan tetap sama, tidak termasuk titik perpuluhan.

3. Menggunakan Double.longValue

Sekarang, mari kita meneroka Double yang terbina dalam kaedah longValue untuk menukar dua kepada panjang :

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

Seperti yang kita dapat lihat, menerapkan longValue kaedah pada dua nilai 9999.999 hasil 9999. Secara dalaman, yang longValue kaedah melaksanakan cast yang mudah .

4. Menggunakan Kaedah Matematik

Akhirnya, mari kita lihat bagaimana menukar kaedah berganda menjadi panjang menggunakan kaedah bulat, siling, dan lantai dari kelas Matematik :

Mari kita periksa Math.round terlebih dahulu . Ini menghasilkan nilai yang paling hampir dengan argumen:

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

Kedua, Math. siling akan menghasilkan nilai terkecil yang lebih besar daripada 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);

Sebaliknya, Math.floor melakukan kebalikan dari Math.ceil. Ini mengembalikan nilai terbesar yang kurang daripada 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 bahawa Math.ceil dan Math.round mengembalikan nilai berganda , tetapi dalam kedua kes tersebut, nilai yang dikembalikan bersamaan dengan nilai panjang .

5. Kesimpulan

Dalam artikel ini, kami telah membincangkan pelbagai kaedah untuk menukar dua kali ganda menjadi panjang di Jawa. Dianjurkan untuk memiliki pemahaman tentang bagaimana setiap kaedah berkelakuan sebelum menerapkannya pada kod kritikal misi.

Kod sumber lengkap untuk tutorial ini boleh didapati di GitHub.