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, время: 04:50. |