Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memformat Nombor Titik Terapung untuk Mengelakkan Sifar Mengekor yang Tidak Diperlukan?
Memformatkan Nombor Titik Terapung dengan Kawalan Tepat
Apabila berurusan dengan nombor titik terapung, selalunya wajar untuk memformatkannya secara estetik tanpa perpuluhan yang tidak perlu sifar. Pertimbangkan tugas mencetak julat nilai yang termasuk integer yang disimpan sebagai beregu dan beregu tulen.
Mengelakkan Sifar Mengekor dengan Kod Format Tertentu
Sambil String.format(" %f", nilai) mungkin kelihatan sesuai, ia menambahkan sifar di belakang untuk nilai kecil. Untuk mencapai ketepatan yang diingini, pertimbangkan untuk menggunakan kod format alternatif:
Fungsi Pemformatan Tersuai dengan Semakan Perpuluhan
Untuk kawalan yang tepat, laksanakan fungsi pemformatan tersuai yang membezakan antara integer dan berganda:
public static String fmt(double d) { if (d == (long) d) return String.format("%d", (long) d); else return String.format("%s", d); }
Fungsi ini menyemak sama ada nilai berganda mewakili integer (menggunakan tuangan dipaksa ke panjang). Jika ya, ia memformat nilai sebagai integer menggunakan String.format("%d"); jika tidak, ia memformat dua kali ganda tanpa ketepatan yang tidak perlu.
Contoh Output:
Menggunakan fungsi tersuai ini, output yang diingini boleh dicapai:
232 0.18 1237875192 4.58 0 1.2345
Nota tentang Pertimbangan Tempatan
String pemformatan adalah sensitif setempat. Hasil pemformatan yang tepat mungkin berbeza-beza bergantung pada tetapan serantau.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memformat Nombor Titik Terapung untuk Mengelakkan Sifar Mengekor yang Tidak Diperlukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!