2013-12-06 5 views
9

Есть ли встроенная функция js/jquery, которая преобразует 1 в первую, 2 в секунду, 3 в третье ... и т. Д.?Как заменить 1 на первый, 2 на второй, третий на третий и т. Д.

например:

Num2Str(1); //returns first; 
Num2str(2); //returns second; 

Я не хочу, чтобы написать функцию на 100 номеров. Пожалуйста помоги.

+4

ммм, показать код для стартеров .., также мы не будем делать свою домашнюю работу – Vogel612

+3

** Нет **, там нет встроенной функции. – Bergi

+2

Ответ - нет. но вы можете написать свою собственную функцию, которая будет одной из самых бесполезных функций за все время. – FreshPro

ответ

14

Для этого нет встроенной функции.

я написал один до 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)); 

DEMO: http://jsbin.com/AqetiNOt/1/edit

+0

Это замечательно. Спасибо. Однако написание «четырехтысячей» неверно. Оно должно быть «сороковым» ... не быть нацистом или чем-то другим. это не так. –

+1

@ Эллиот это выглядит как британская вещь для английского английского ... – Vogel612

+0

Было полезно ... Спасибо – Swastik

2

Вы можете создать numberbuilder:

Вам нужно будет создать безопасный способ для преобразования одной цифры силой в строку.

1234 -> 1 (один) * 10^3 (тыс) + 2 (два) * 10^2 (сто) +3 (три) 10 (десять) +4 (четыре) (один)
==> одна тысяча двести й irty четыре й

123456 -> сто ТВт enty три тысячи четыреста шесть фи FTY й

, если вы хотите знать о нотации: Я попытался разделить это на одном шаге принятия решения, которое необходимо сделать

Правила построения повторяют каждые три цифры. Остальное зависит от тебя.

О, и до того, как я забуду: есть только «3» исключения для th-rule. один, два и три.

+0

Думаю, вы сделали домашнее задание для него. Я не считаю вас стартером, не так ли? – anand4tech

+0

@ anand4tech вы имеете в виду, тибо сделал домашнее задание, и я просто показал ему, как ему не нужно было писать шкафчик для каждого возможного номера? – Vogel612

+0

@ anand4tech Ответ полезен не обязательно для него, но и для других. – Tibos

Смежные вопросы