Разделить число на разряды
Нашел в сети вот такое регулярное выражение:
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, время: 08:17. |