How to convert number to words in java

前端 未结 27 3198
遇见更好的自我
遇见更好的自我 2020-11-21 23:53

We currently have a crude mechanism to convert numbers to words (e.g. using a few static arrays) and based on the size of the number translating that into an english text. B

27条回答
  •  醉梦人生
    2020-11-22 00:43

    this might help

    public String numberToWords(long number) {
        if (number == 0) {
            return "zero";
        }
        if (number < 0) {
            return "minus " + numberToWords(Math.abs(number));
        }
        String words = "";
        if ((number / 10000000) > 0) {
            words += numberToWords(number / 10000000) + " Crore ";
            number %= 10000000;
        }
        if ((number / 100000) > 0) {
            words += numberToWords(number / 100000) + " Lakh ";
            number %= 100000;
        }
        if ((number / 1000) > 0) {
            words += numberToWords(number / 1000) + " Thousand ";
            number %= 1000;
        }
        if ((number / 100) > 0) {
            words += numberToWords(number / 100) + " Hundred ";
            number %= 100;
        }
        if (number > 0) {
            if (!words.equals("")) {
                words += "and ";
            }
            if (number < 20) {
                words += number;
            } else {
                words += (number);
                if ((number % 10) > 0) {
                    words += "-" + (number % 10);
                }
            }
        }
        return words;
    }
    

提交回复
热议问题