Как отформатировать числовую строку в соответствующем локализованном формате отображения? - PullRequest
0 голосов
/ 02 июня 2018

У меня есть этот код, который вызывает API:

<script>
  setInterval(function(){ getPrintCount(); }, 1500);

  function getPrintCount(){
      $.ajax({
          url: 'https://data.memopresso.com/api/data/count',
          dataType: 'json',
          type: 'get',
          cache: false,
          success: function(data){
              document.getElementById("printCount").innerHTML = data.count;
          },
          error: function(data){
              document.getElementById("printCount").innerHTML = '0';
          }
      });
  }

Я бы хотел, чтобы он выводил числа, отформатированные как 9,55,100 (индийский формат).

Мне удалось найти, что

.toLocaleString('en-IN')

должен решить мою проблему.

Я пытаюсь вставить это в мой код следующим образом

document.getElementById("printCount").innerHTML = data.count.toLocaleString('en-IN');

, но яне может заставить его работать, числа по-прежнему отображаются в виде простого текста?

1 Ответ

0 голосов
/ 02 июня 2018

Похоже, что для отображения числа с использованием toLocaleString, число должно быть Number, а не String.Похоже, ваш data.count рассматривается как String.Попробуйте следующее:

document.getElementById("printCount").innerHTML = parseInt(data.count).toLocaleString('en-IN');

В качестве альтернативы, если ваш номер является числом с плавающей запятой:

document.getElementById("printCount").innerHTML = parseFloat(data.count).toLocaleString('en-IN');
...