Rumah >Java >javaTutorial >Bagaimana untuk Membundarkan Gandaan dengan betul kepada Dua Tempat Perpuluhan di Jawa?

Bagaimana untuk Membundarkan Gandaan dengan betul kepada Dua Tempat Perpuluhan di Jawa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-30 07:35:16669semak imbas

How to Correctly Round Doubles to Two Decimal Places in Java?

Membundarkan kepada Dua Tempat Perpuluhan di Jawa

Ramai pembangun menghadapi cabaran apabila cuba membundarkan nombor titik terapung ke tempat perpuluhan tertentu di Jawa. Ini benar terutamanya apabila output yang dikehendaki mesti kekal dua kali ganda.

Satu pendekatan biasa melibatkan penggunaan Math.round(), seperti yang ditunjukkan dalam kod berikut:

class Round {
    public static void main(String[] args) {

        double a = 123.13698;
        double roundOff = Math.round(a * 100) / 100;
        
        System.out.println(roundOff);
    }
}

Walau bagaimanapun, pendekatan ini selalunya gagal membuahkan hasil yang diinginkan. Daripada membundarkan kepada 123.14, ia menghasilkan 123.

Untuk membetulkan isu ini, sedikit pengubahsuaian pada baris 4 diperlukan:

double roundOff = Math.round(a * 100.0) / 100.0;

Dengan menambah .0 pada faktor pendaraban, hasilnya dilemparkan kepada dua kali ganda dengan dua tempat perpuluhan. Ini memastikan bahawa keputusan akhir juga mempunyai dua tempat perpuluhan.

Sebagai alternatif, seperti yang dicadangkan oleh @Rufein, seseorang boleh menghantar nilai bulat kepada dua kali ganda:

double roundOff = (double) Math.round(a * 100) / 100;

Pendekatan ini juga berkesan menghasilkan output yang diingini 123.14 dengan dua tempat perpuluhan.

Atas ialah kandungan terperinci Bagaimana untuk Membundarkan Gandaan dengan betul kepada Dua Tempat Perpuluhan di Jawa?. 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