формат числа jquery для компактного стиля чисел k тыс. млн. и т. д. - PullRequest
0 голосов
/ 29 августа 2018

Как лучше всего отформатировать все числа на веб-странице с помощью класса span? используя jquery?

<span class="number">100065</span>
<span class="number">9896</span>
<span class="number">3946</span>
<span class="number">9606</span>

Результат 100 тыс. 9,8 тыс. 3,9 тыс. 9,6 тыс.

1 Ответ

0 голосов
/ 29 августа 2018

Это своего рода дубликат, но вот подходящее решение для вашего особого случая:

String.prototype.endsWith = function(suf) {
    return (this.indexOf(suf, this.length - suf.length) !== -1) ? this.slice(0, -2) : this;
};
function kF(num) { 
  return num > 999 ? 
    (num/1000).toString().slice(0, - 2).endsWith('.0') + 'k' : 
    num 
}
jQuery('span.number').text(function(i, oldText) { return kF(oldText); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="number">100065</span>
<span class="number">9896</span>
<span class="number">3946</span>
<span class="number">9606</span>
<p>Some more...</p>
<span class="number">100065568</span>
<span class="number">20054065568</span>

Последняя версия теперь также исправляет проблему с 100.0k .

...