我想创建一个数字转换成文字的工具,类似于这个网站:http://gwydir.demon.co.uk/jo/numbers/words/intro.htm。然而,我要为一种使用二十进制计数法(即以二十为单位计数)的外语创建此工具,需要将数字转换成文字的范围是1-199。
1-20很容易,但之后就有所变化了。20-39遵循“二十后一,二十后二”“一直到二十后十八的模式(即21至38),“二十后十九”(即39)。
40-99和120-199则不同,它们按“分数”计算:“一二十一”(即41),“二二十”(即42),“一三十”(即61),“一四十”(即81),“七二十”(即140),“一七十”(即141),“一九十”(即161),“五九十”(即190),“一九十一”(即191),“一九十九”(即199)。
100-119与英语类似:“一百零一”,“一百零二”,“一百十一”,“一百十九”。
以下是我的输入表单html代码:
1-20很容易,但之后就有所变化了。20-39遵循“二十后一,二十后二”“一直到二十后十八的模式(即21至38),“二十后十九”(即39)。
40-99和120-199则不同,它们按“分数”计算:“一二十一”(即41),“二二十”(即42),“一三十”(即61),“一四十”(即81),“七二十”(即140),“一七十”(即141),“一九十”(即161),“五九十”(即190),“一九十一”(即191),“一九十九”(即199)。
100-119与英语类似:“一百零一”,“一百零二”,“一百十一”,“一百十九”。
以下是我的输入表单html代码:
<table align=center>
<tr><td>
<form action="#" name="conv">
Enter number:
<input type="text" name="numb" size="15">
<input type="button" value="Show number" onclick="getnum(document.conv.numb.value)">
</form>
</td></tr>
<tr><td align=center><span id="outp"> </span></td></tr>
</TABLE>
这是我用于1到20的JavaScript代码:
var units = new Array(21)
units[0]=""
units[1]="onen"
units[2]="dew"
units[3]="tri"
units[4]="pajar"
units[5]="pemp"
units[6]="whegh"
units[7]="seyth"
units[8]="eth"
units[9]="naw"
units[10]="deg"
units[11]="udnek"
units[12]="dowdhek"
units[13]="tredhek"
units[14]="peswardhek"
units[15]="pemthek"
units[16]="whetek"
units[17]="seytek"
units[18]="etek"
units[19]="nownsek"
units[20]="ugens"
我的问题是,我该如何开始编写代码来将数字转换为正确的单词?有人能给我指出一些示例以帮助我吗?我看到过用于英语的示例,但由于数字系统差异太大,我无法想象如何将其转换为二十进制系统。
谢谢