在Java中将分数转换为单词
我有一个问题:我想把1/2、3/4这样的分数转换成Java中的口语单词,比如“一半”或“四分之三” Java中是否有任何方法(伪代码)或实用程序可以生成基本上接收数字的输出 比如:在Java中将分数转换为单词,java,math,pseudocode,fractions,Java,Math,Pseudocode,Fractions,我有一个问题:我想把1/2、3/4这样的分数转换成Java中的口语单词,比如“一半”或“四分之三” Java中是否有任何方法(伪代码)或实用程序可以生成基本上接收数字的输出 比如: getSpokenWords(分子、分母)返回“一半” 非常感谢。您只需在getSpokenWords(分子、分母)中使用if-else或开关,就可以实现您的逻辑,因为您更清楚地知道作为分母和分子的预期输入,因为我们的所有预期投入可能都不适合您。 您可以为分母和分子维护哈希映射,整数是分母和分子的值,字符串是它们的字
getSpokenWords(分子、分母)
返回“一半”
非常感谢。您只需在
getSpokenWords(分子、分母)
中使用if-else
或开关,就可以实现您的逻辑,因为您更清楚地知道作为分母和分子的预期输入,因为我们的所有预期投入可能都不适合您。
您可以为分母
和分子
维护哈希映射
,整数
是分母
和分子
的值,字符串
是它们的字母对应项,可以获取()
相应地从中提取值。您可以通过在getSpokenWords(分子、分母)
中使用if else
或开关来实现您的逻辑,因为您更清楚地知道作为分母和分子的预期输入,因为我们的所有预期投入可能都不适合您。
您可以为分母
和分子
维护哈希映射
,整数
是分母
和分子
的值,字符串
是它们的字母对应项,可以获取()
相应地从中提取值。您可以通过在getSpokenWords(分子、分母)
中使用if else
或开关来实现您的逻辑,因为您更清楚地知道作为分母和分子的预期输入,因为我们的所有预期投入可能都不适合您。
您可以为分母
和分子
维护哈希映射
,整数
是分母
和分子
的值,字符串
是它们的字母对应项,可以获取()
相应地从中提取值。您可以通过在getSpokenWords(分子、分母)
中使用if else
或开关来实现您的逻辑,因为您更清楚地知道作为分母和分子的预期输入,因为我们的所有预期投入可能都不适合您。
您可以为分母
和分子
维护哈希映射
,整数
是分母
和分子
的值,字符串
是它们的字母对应项,可以获取()
相应地从中提取值。据我所知,没有一个标准库可以做到这一点,据我所知,您无法为此制定可扩展的解决方案
我推荐的一种方法是创建数组,基本上将数字映射到对应的单词。比如说,
String[] numerators = {"One", "Two", "Three", ... // etc., until you reach your desired limit
String[] denominators = {"whole", "hal", "third", ...
然后,您的getSpokenWords(分子、分母)方法可以连接这些字符串,并在需要时添加复数结尾。(“Half”因其不规则的复数形式而被列为“hal”,因此您可以根据需要连接“ve”或“f”)
编辑:如果你想聪明一点,你甚至可以使用循环、除法和模来将更高的数字分隔成它们的位置值。例如,525600可以分为525和600,从中可以得到相当于525(5225)的文本,并在其后面加上“千”。当然,获取字符串“伍佰贰拾五”本身也需要分离。据我所知,没有标准库可以做到这一点,而且据我所知,您无法为此提供可扩展的解决方案
我推荐的一种方法是创建数组,基本上将数字映射到对应的单词。比如说,
String[] numerators = {"One", "Two", "Three", ... // etc., until you reach your desired limit
String[] denominators = {"whole", "hal", "third", ...
然后,您的getSpokenWords(分子、分母)方法可以连接这些字符串,并在需要时添加复数结尾。(“Half”因其不规则的复数形式而被列为“hal”,因此您可以根据需要连接“ve”或“f”)
编辑:如果你想聪明一点,你甚至可以使用循环、除法和模来将更高的数字分隔成它们的位置值。例如,525600可以分为525和600,从中可以得到相当于525(5225)的文本,并在其后面加上“千”。当然,获取字符串“伍佰贰拾五”本身也需要分离。据我所知,没有标准库可以做到这一点,而且据我所知,您无法为此提供可扩展的解决方案
我推荐的一种方法是创建数组,基本上将数字映射到对应的单词。比如说,
String[] numerators = {"One", "Two", "Three", ... // etc., until you reach your desired limit
String[] denominators = {"whole", "hal", "third", ...
然后,您的getSpokenWords(分子、分母)方法可以连接这些字符串,并在需要时添加复数结尾。(“Half”因其不规则的复数形式而被列为“hal”,因此您可以根据需要连接“ve”或“f”)
编辑:如果你想聪明一点,你甚至可以使用循环、除法和模来将更高的数字分隔成它们的位置值。例如,525600可以分为525和600,从中可以得到相当于525(5225)的文本,并在其后面加上“千”。当然,获取字符串“伍佰贰拾五”本身也需要分离。据我所知,没有标准库可以做到这一点,而且据我所知,您无法为此提供可扩展的解决方案
我推荐的一种方法是创建数组,基本上将数字映射到对应的单词。比如说,
String[] numerators = {"One", "Two", "Three", ... // etc., until you reach your desired limit
String[] denominators = {"whole", "hal", "third", ...
你的getSpokenWords(分子,