Rumah >Java >javaTutorial >Bagaimana untuk Menukar Nombor kepada Perkataan di Jawa?

Bagaimana untuk Menukar Nombor kepada Perkataan di Jawa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 15:13:09533semak imbas

How to Convert Numbers to Words in Java?

Cara menukar nombor kepada perkataan dalam Java

Menukar nombor kepada perkataan dalam Java boleh menjadi tugas yang berguna untuk pelbagai aplikasi, seperti sebagai menjana invois, menulis cek atau menceritakan data berangka.

Java terbina dalam Perpustakaan

Malangnya, tiada kaedah terbina dalam dalam mana-mana perpustakaan Java standard yang secara khusus menukar nombor kepada perkataan. Walau bagaimanapun, menggunakan beberapa pengekodan kreatif dan perpustakaan yang telah wujud, anda boleh menulis kaedah anda sendiri dengan mudah untuk menyelesaikan tugas ini.

Penukar Nombor Tersuai kepada Perkataan

Berikut ialah contoh kaedah Java yang boleh anda gunakan untuk menukar nombor kepada perkataan:

public class NumberToWords {

    private static String[] lessThan20 = {"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
    private static String[] tens = {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
    private static String[] thousands = {"", "thousand", "million", "billion", "trillion"};

    public static String convert(long number) {
        if (number == 0) {
            return "zero";
        }

        if (number < 0) {
            return "minus " + convert(-number);
        }

        int index = 0;
        String words = "";

        while (number > 0) {
            if (number % 1000 != 0) {
                words = convertLessThanOneThousand(number % 1000) + " " + thousands[index] + " " + words;
            }
            number /= 1000;
            index++;
        }

        return words.trim();
    }

    private static String convertLessThanOneThousand(long number) {
        if (number == 0) {
            return "";
        }

        if (number < 20) {
            return lessThan20[(int) number];
        }

        if (number < 100) {
            return tens[(int) number / 10] + "-" + lessThan20[(int) number % 10];
        }

        return lessThan20[(int) number / 100] + " hundred " + convertLessThanOneThousand(number % 100);
    }

    public static void main(String[] args) {
        System.out.println(convert(1000));
        System.out.println(convert(123456789));
        System.out.println(convert(987654321012L));
    }
}

Penggunaan

Untuk menggunakan kaedah ini, hanya import kelas NumberToWords dan panggil kaedah tukar, masukkan nombor yang anda ingin tukar sebagai hujah.

import static com.example.converter.NumberToWords.convert;

long myNumber = 123456789;
String words = convert(myNumber);
System.out.println(words); // Output: one hundred twenty three million four hundred fifty six thousand seven hundred eighty nine

Lain-lain Pendekatan

Terdapat juga pendekatan lain yang boleh anda gunakan untuk menukar nombor kepada perkataan dalam Java, termasuk menggunakan ungkapan biasa atau memanfaatkan perpustakaan pihak ketiga. Walau bagaimanapun, kaedah tersuai yang disediakan di atas adalah cara yang mudah dan berkesan untuk menyelesaikan kerja.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Nombor kepada Perkataan 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