Разделить число на разряды
Нашел в сети вот такое регулярное выражение:
str.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 '); Не знаете что тут можно добавить или удалить чтобы она, число после десятичной точки на разряды не разделяла, а то это выглядит так: 1 234 567.1 234 |
если строка содержит число с десятичной точкой, то просто уберите конец строки $
alert('123456789.123456789'.replace(/(\d)(?=(\d\d\d)+([^\d]))/g, '$1 '));
|
Pavel M., а если не содержит?)
Пока приходит в голову только это
var x = "1234567890.123456789";
x = x.replace(/.+?(?=\D|$)/, function(f) {
return f.replace(/(\d)(?=(?:\d\d\d)+$)/g, "$1 ");
});
alert(x);
|
Цитата:
|
Цитата:
Накопипастил для примера :)
alert('123456789.123456789'.replace(/(\d)(?=(\d\d\d)+([^\d]))/g, '$1 '));
alert('123456789'.replace(/(\d)(?=(\d\d\d)+([^\d]))/g, '$1 '));
var x = "1234567890.123456789";
x = x.replace(/.+?(?=\D|$)/, function(f) {
return f.replace(/(\d)(?=(?:\d\d\d)+$)/g, "$1 ");
});
alert(x);
var x = "1234567890";
x = x.replace(/.+?(?=\D|$)/, function(f) {
return f.replace(/(\d)(?=(?:\d\d\d)+$)/g, "$1 ");
});
alert(x);
Как-то не правильно тут статусы форум пишет: у меня - Профессор (кислых щей), а у Вас - Любитель :D |
Статус можно поменять.)
А 2 replace - это не спортивно. |
Цитата:
|
nerv_ спасибо, подойдет твое решение..главное работает )
вот еще вопрос почему я js не могу сделать число с дробной частью при делении, например в mysql при делении числа скажем 10000/100=100.0000 |
toFixed
|
мне не нужен .toFixed мне нужно именно делением делать дробь так как данные хранятся в целом виде в БД...числа если у них на конце не ноль делятся...к примеру 1001/100=10.01 а 1000/100 = 10 ((
|
Тебе нужно, ты и делай. Адекватный язык лишних нулей рисовать не будет.
|
Цитата:
|
пусть тут полежит, потом легче найти будет.
function addSpaces(nStr){
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ' ' + '$2');
}
return x1 + x2;
}
alert(addSpaces(2325454.6767));
на входе в функцию число. |
| Часовой пояс GMT +3, время: 17:53. |