如何用第一个替换1,用第二个替换2,用第三个替换3等

Evi*_*vil 12 javascript jquery ordinals

是否有任何内置的js/jquery函数可以将1转换为第一个,第二个转换为第二个,第三个转换为第三个......等等?

例如:

Num2Str(1); //returns first;
Num2str(2); //returns second;
Run Code Online (Sandbox Code Playgroud)

我不想写一个100个数字的函数.请帮忙.

Tib*_*bos 20

它没有内置功能.

我写了一个最多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));
Run Code Online (Sandbox Code Playgroud)

演示:http://jsbin.com/AqetiNOt/1/edit

  • 这很棒.谢谢.但是,"第十四"的拼写是错误的.它应该是"第四十"......不是拼写纳粹或任何东西.刚想我会指出这一点. (2认同)
  • @Elliot对我来说这看起来像是英国人对美国人的英国人... (2认同)