使用 Java 将数字转换为字符串

Convert digits to string with Java

假设我有一个将 3 位数字打印为字符串的函数(例如 301 -> 三百一)。

如何使用此函数将 9 位数字打印为字符串?

假设 printNum 是函数,它 returns 字符串然后:

int nineDigitsNum=999999999;
int temp=nineDigitsNum/1000000;
String text= "";
if(temp>0) text+=printNum(temp)+" milions";
int temp=(nineDigitsNum%1000000)/1000;
if(temp>0) text+=printNum(temp)+" thounsend"
int temp=(nineDigitsNum%1000);
text+=printNum(temp)

将 9 位数字分成 3 个部分。对于每个部分应用 3 位数字的方法。每部分后插入“千”或“百万”等词。

例如,您的号码是 301.301.301。 分离后你有以下内容: 1. 301 2. 301 3. 301 然后将您的方法应用于此部分并获得以下内容: 1. 三百一 2. 三百一 3. 三百一

在第一部分之后您应该插入单词 "million"。在第二部分之后你应该插入“千”。在第 3 部分之后,您不插入单词。 结果你有:三亿一百万三百一三十一千三百一

假设您得到了数字 301301301。在书面文本中,这将是:三百一百万三百一三百一

如您所见,您可以传递 3 位数字并始终获得相同的结果。现在检查一下,如果你有 9 位数字然后一次传递 3 位数字并将你的结果字符串与 Million 和 Thousand 连接起来。

这是一些伪代码:

final int number = 301301301;
final int[] numbers = splitNumberInThree(301301301);
final String textNumber = numbersToText(numbers[0]) +
" Million " + numbersToText(numbers[1]) +
" Thousand " + numbersToText(numbers[2]);