Как перевести число в текст на javascript?

Пользователь

от loyal , в категории: JavaScript , 2 года назад

Как перевести число в текст на javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 2 года назад

@loyal Используйте метод .toString() чтобы перевести число в текст на JavaScript, посмотрите ниже пример кода:


1
2
3
4
5
6
let number = 55;

// Вывод: 55
console.log(number.toString())
// string
console.log(typeof number.toString())


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от elissa , год назад

@loyal 

Для перевода числа в текст на JavaScript можно использовать функцию, которая будет преобразовывать каждую цифру числа в соответствующий текстовый эквивалент. Например, вот простая функция, которая преобразует число до 999 в текст:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function numberToText(num) {
  const ones = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
  const teens = ['ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'];
  const tens = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
  
  if (num == 0) {
    return 'zero';
  }
  
  if (num < 0) {
    return 'minus ' + numberToText(Math.abs(num));
  }
  
  let text = '';
  
  if (num >= 100) {
    text += ones[Math.floor(num / 100)] + ' hundred ';
    num %= 100;
  }
  
  if (num >= 10 && num <= 19) {
    text += teens[num - 10];
    return text;
  }
  
  if (num >= 20) {
    text += tens[Math.floor(num / 10)];
    num %= 10;
  }
  
  if (num >= 1 && num <= 9) {
    text += ones[num];
  }
  
  return text.trim();
}


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

1
2
3
4
5
6
console.log(numberToText(123)); // "one hundred twenty three"
console.log(numberToText(456)); // "four hundred fifty six"
console.log(numberToText(100)); // "one hundred"
console.log(numberToText(15)); // "fifteen"
console.log(numberToText(0)); // "zero"
console.log(numberToText(-42)); // "minus forty two"


Эта функция может быть расширена, чтобы поддерживать более большие числа, а также добавлять обработку десятичных дробей.