Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memformat Nombor Titik Terapung dengan Tepat di Java Sambil Mengelakkan Sifar Jejak yang Tidak Diperlukan?
Memelihara Ketepatan dalam Pemformatan Titik Terapung
Di Java, sering memformat nombor titik terapung dengan String.format("%f") mengakibatkan sifar perpuluhan yang tidak diingini mengekori nilai kecil. Untuk menangani isu ini, pendekatan tersuai dicadangkan untuk membezakan integer daripada beregu dan memformatkannya dengan sewajarnya.
Penyelesaian yang disediakan menggunakan fakta bahawa beregu 64-bit boleh mewakili integer dalam julat tertentu dengan tepat. Ia menyemak sama ada nilai berganda bersamaan dengan pemutus integer panjangnya. Jika benar, nilai diformatkan sebagai integer menggunakan String.format("%d"). Jika tidak, ia diformatkan sebagai dua kali ganda dengan ketepatan minimum yang diperlukan menggunakan String.format("%s").
Dengan menggabungkan logik ini, penyelesaian secara berkesan membuang sifar perpuluhan yang tidak diperlukan daripada nilai integer sambil mengekalkan ketepatan untuk sebenar berganda. Tiada manipulasi rentetan diperlukan, menghalang sebarang kehilangan prestasi yang berkaitan dengannya.
Akibatnya, outputnya ialah:
232 0.18 1237875192 4.58 0 1.2345
Perhatikan bahawa pendekatan ini bergantung kepada setempat kerana pergantungan pada String.format. Berhati-hati tentang kemungkinan perbezaan pemformatan berdasarkan tetapan tempat pengguna apabila menggunakan kaedah ini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memformat Nombor Titik Terapung dengan Tepat di Java Sambil Mengelakkan Sifar Jejak yang Tidak Diperlukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!