1000=1к 120000=120к и тд
Здравствуйте, хочу в игре кликер, которая сделана на чистом js, сделать систему чисел с буквами, например 145800=145.8k, как это реализовать?
Зарание спасибо. |
Проверить не меньше ли число, чем значение постфикса, разделить число на значение буквы, округлить по необходимости и добавить постфикс.
function func(val){ if(val<1000) return val; return (val/1000).toFixed(1)+'k'; } alert(func(145800)); |
var val = 145800; alert( (val+'').replace(/(\d+)\d{3}/g, '$1'+'k') ); |
j0hnik,
Если бы это были деньги, которые вы должны получить, то, мне кажется, у вас получилось бы 146k |
Спасибо большое, но мне нужно и из милионами, трилионами и тд,
|
Цитата:
|
тысяча k
милион m миллиард b триллион t ну и все |
var calc = (function() { const data = [{ postfix: 'k', number: 1000 }, { postfix: 'kk', number: 1e6 } ].sort(function(a, b) { return a.number - b.number; }); return function(value) { const item = data.reduce(function(r, i) { if (value >= i.number) r = i; return r; }, false); return !item ? value : (value / item.number).toFixed(1) + item.postfix; }; })(); alert(calc(145)); alert(calc(145800)); alert(calc(6458300)); |
Владислав Star,
function fn(a) { var n = 0; while (a > 1000) { a /= 1000; n++; } return +a.toFixed(1) + (["", "k", "m", "b", "t"][n] || ""); } alert(fn(145)); alert(fn(145800)); alert(fn(6458300)); |
Цитата:
|
Часовой пояс GMT +3, время: 13:24. |