Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memformat Nombor Titik Terapung untuk Mengelakkan Sifar Mengekor yang Tidak Diperlukan?

Bagaimanakah Saya Boleh Memformat Nombor Titik Terapung untuk Mengelakkan Sifar Mengekor yang Tidak Diperlukan?

Barbara Streisand
Barbara Streisandasal
2024-12-21 17:28:10770semak imbas

How Can I Format Floating-Point Numbers to Avoid Unnecessary Trailing Zeros?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn