使用 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]);
假设我有一个将 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]);