Как можно отобразить число в переводе формата?

#javascript #jquery #html

#javascript #jquery #HTML

Вопрос:

Всем привет, я использовал jquery для преобразования ЧИСЕЛ В СЛОВА.

Вот представление и демонстрация: здесь

 <form>
 Number to words<BR>
 <BR>Number/Namp;uacute;mero 
 <INPUT NAME="Number" TYPE="number" SIZE="60" value="123"> <BR><TEXTAREA NAME="Spanish" ROWS="5" COLS="90"></TEXTAREA><BR>
</form>
  

И это покажет:

 CIENTO VEINTITRES CON /100 NUEVOS SOLES
  

Но я хочу показать (когда у него нет символа точки)

 CIENTO VEINTITRES CON 00/100 NUEVOS SOLES
  

Другая проблема заключается в том, что точка символа работает некорректно, например, в этой строке:

 <INPUT NAME="Number" TYPE="number" SIZE="60" value="123.12"> <BR>
  

Я должен был

 CIENTO VEINTITRES CON 12/100 NUEVOS SOLES
  

Я попробовал это здесь

Может кто-нибудь указать, что я сделал не так?

Ответ №1:

Вы можете начать с начала второй функции с splitting десятичного числа, если оно есть, со следующего кода:

     var cents = s.split('.')[1] || '00',
        s = s.split('.')[0] || s;
  

Затем измените Number строку, указанную @Halcyon, на cents (строка 143):

     return (result " CON "  cents  "/100 NUEVOS SOLES");
  

РАБОЧАЯ ДЕМОНСТРАЦИЯ

Комментарии:

1. Боже, ты действительно потрясающий… большое вам спасибо, мистер, вы выиграли очки и мое уважение

2. Возможно, вам потребуется изменить несколько строк, например, if (s cents=='000') {return ('CERO');} если кто-то введет 0.12 …. Рад, что смог помочь… Спасибо и наслаждайтесь 🙂

3. Прямо сейчас, если вы введете 0.13 , например, это будет рассматриваться как CERO — try it (моя демонстрация). Чтобы сделать сравнение справедливым, используйте s cents , которое будет сочетаться 0 с 13 , и оно не вернется CERO . Надеюсь, это поможет.

4. Как насчет установки input type text , чтобы он мог принимать нечисловой ввод, такой как comma ? Например, здесь: jsfiddle.net/fiddleyetu/RQ7R4/74

5. Боже, кажется, ты читаешь мои мысли =) спасибо, где бы ты ни был =)