是否有任何内置的 js/jquery 函数可以将 1 转换为第一、2 转换为第二、3 转换为第三……等等?
前任:
Num2Str(1); //returns first;
Num2str(2); //returns second;
我不想为 100 个数字编写函数。请帮忙。
是否有任何内置的 js/jquery 函数可以将 1 转换为第一、2 转换为第二、3 转换为第三……等等?
前任:
Num2Str(1); //returns first;
Num2str(2); //returns second;
我不想为 100 个数字编写函数。请帮忙。
它没有内置功能。
我确实写了一个最多 99:
var special = ['zeroth','first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh', 'eighth', 'ninth', 'tenth', 'eleventh', 'twelfth', 'thirteenth', 'fourteenth', 'fifteenth', 'sixteenth', 'seventeenth', 'eighteenth', 'nineteenth'];
var deca = ['twent', 'thirt', 'fort', 'fift', 'sixt', 'sevent', 'eight', 'ninet'];
function stringifyNumber(n) {
if (n < 20) return special[n];
if (n%10 === 0) return deca[Math.floor(n/10)-2] + 'ieth';
return deca[Math.floor(n/10)-2] + 'y-' + special[n%10];
}
// TEST LOOP SHOWING RESULTS
for (var i=0; i<100; i++) console.log(stringifyNumber(i));
演示:http: //jsbin.com/AqetiNOt/1/edit
您可以创建一个数字生成器:
您将需要创建一种万无一失的方法来将单个数字按幂转换为字符串。
1234 -->1(一)*10^3(千)+2(二)*10^2(百)+3(三)10(十)+4(四)(一)
==>一千二一百三十四123456 --> 十二万三千四百五十六
如果您对符号感到疑惑:我试图将其分解为您需要做出的单个决策步骤
构建规则每三个数字重复一次。剩下的就看你了。
哦,在我忘记之前:th 规则只有“3”个例外。一、二、三。