使用c#将5位数字打印成单词

时间:2010-09-21 05:50:51

标签: c#

  

可能重复:
  How can I convert an integer into its verbal representation?

考虑我有一个5位数的数字45456,我希望使用c#将其打印为Forty five thousand four hundred and fifty six。任何建议。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我不想写出代码(加上你的作业,所以你可以做那部分),但这是你需要做的:

  • 你需要以三人一组的形式查看你的数字,这样才能找到像“四万五千”和“四百五十六”这样的字符串。特别是因为每个组只影响该组中的数字。
  • 每个组的位置会影响哪些修饰符适用于它们。
  • 我会创建一个列表,其中哪些修饰符适用于哪个组,当您查看每个组时,您可以动态地应用修饰符。这样你的循环就不需要关心它在数字中的位置了。

NB。我的观点非常非常通用。所以我看的数字可以超过5位数。如果它只是你关心的五位数,你可以用一个基本的开关语句来代替列表中的数字来解决它:

给出45456:

  • 用第100个值替换第一个数字(所以2用'20'替换,3用'30'替换,4用'40'等等)

  • 用直线上升值代替第二个数字(所以2是'2',3是'3'等)

  • 添加'千'

  • 这个词
  • 用数百个值代替第三个数字(所以2个是'二百',三个是'三百')

  • 使用sub-100值替换第四个数字(因此2替换为20,等等)

  • 用直线值代替第五个数字。

请注意,第一步和第二步与最后两步相同。

我希望这会有所帮助:)