ホームページ > Java > &#&チュートリアル > Java で数値を単語に変換するには?

Java で数値を単語に変換するには?

Mary-Kate Olsen
リリース: 2024-12-19 15:13:09
オリジナル
529 人が閲覧しました

How to Convert Numbers to Words in Java?

Java で数値を単語に変換する方法

Java で数値を単語に変換することは、次のようなさまざまなアプリケーションにとって便利なタスクです。請求書の生成、小切手の書き方、数値データの説明など。

組み込み Javaライブラリ

残念ながら、標準 Java ライブラリには、特に数値を単語に変換する組み込みメソッドはありません。ただし、創造的なコーディングと既存のライブラリを使用すると、このタスクを実行する独自のメソッドを簡単に作成できます。

カスタム数値から単語へのコンバータ

は次のとおりです。数値を次の値に変換するために使用できるサンプル Java メソッド単語:

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));
    }
}
ログイン後にコピー

使用法

このメソッドを使用するには、単に NumberToWords クラスをインポートし、convert メソッドを呼び出して、変換する数値を渡します。引数。

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
ログイン後にコピー

その他アプローチ

正規表現の使用やサードパーティ ライブラリの活用など、Java で数値を単語に変換するために使用できる他のアプローチもあります。ただし、上記で提供したカスタム メソッドは、作業を完了するためのシンプルかつ効果的な方法です。

以上がJava で数値を単語に変換するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート