> Java > java지도 시간 > Java에서 숫자를 단어로 변환하는 방법은 무엇입니까?

Java에서 숫자를 단어로 변환하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-19 15:13:09
원래의
527명이 탐색했습니다.

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 클래스를 가져오고 변환 방법을 호출하여 변환할 숫자를 전달하면 됩니다. 인수.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿