使用flex将数字转换为单词

时间:2010-05-05 14:26:04

标签: flex numbers words numericstepper

我正在尝试使用flex中的数字步进器将条目转换为单词以在textarea中显示。

即用户使用步进器输入“89”作为值,在文本区域中显示“Eighty nine”字样。

经过多次搜索后,我找不到任何有用的东西 - 一些javascript函数,但就是这样。

非常感谢任何帮助示例代码。

提前感谢。

1 个答案:

答案 0 :(得分:0)

我建议您使用数字“0”到“99”的哈希表作为索引(用引号括起来),值是这些数字的单词名称。这将使本地化成为可能,而无需大量复杂的代码来确定,例如,日语中“十一”和“juu ichi”(ten one)之间或“九十九”与“quatre vingt dix”之间的区别neuf“(八十九)用法语,”二十二“和”zwei und zwanzig“(二十二)用德语等。

让我们将该哈希表命名为myNumberWords。然后你只需按如下方式转换你的数字:

function getWordsFromNumber(num:Number) : String {
  return myNumberWords[num.toString()]; 
}

如果您想要高于99,请为百万十亿<单词添加哈希值/ em>等,然后将整个数字拆分成一个数组,并在每个第3个数字后放置适当的单位,从堆栈顶部开始计算。您还必须将零值和双零值计为空字符串(“”),除非只有一个数字并且它是零等等。