Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.01.2012, 09:54
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

Разделить число на разряды
Нашел в сети вот такое регулярное выражение:
str.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');

Не знаете что тут можно добавить или удалить чтобы она, число после десятичной точки на разряды не разделяла, а то это выглядит так:
1 234 567.1 234
Ответить с цитированием
  #2 (permalink)  
Старый 07.01.2012, 12:30
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

если строка содержит число с десятичной точкой, то просто уберите конец строки $
alert('123456789.123456789'.replace(/(\d)(?=(\d\d\d)+([^\d]))/g, '$1 '));
Ответить с цитированием
  #3 (permalink)  
Старый 07.01.2012, 14:09
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Pavel M., а если не содержит?)

Пока приходит в голову только это
var x = "1234567890.123456789";
			
x = x.replace(/.+?(?=\D|$)/, function(f) {
	return f.replace(/(\d)(?=(?:\d\d\d)+$)/g, "$1 ");
});
alert(x);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 07.01.2012 в 14:16.
Ответить с цитированием
  #4 (permalink)  
Старый 07.01.2012, 16:00
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,569

Сообщение от nerv_ Посмотреть сообщение
Pavel M., а если не содержит?)
Т.е. не содержит?
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 07.01.2012, 16:22
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Pavel M.
если строка содержит число с десятичной точкой, то просто уберите конец строки $
т.е. число целое)

Накопипастил для примера
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);

Как-то не правильно тут статусы форум пишет: у меня - Профессор (кислых щей), а у Вас - Любитель
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #6 (permalink)  
Старый 07.01.2012, 16:26
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,569

Статус можно поменять.)
А 2 replace - это не спортивно.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 07.01.2012, 16:42
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Aetae
А 2 replace - это не спортивно.
покажИте как надо (если есть время и желание)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #8 (permalink)  
Старый 07.01.2012, 16:47
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

nerv_ спасибо, подойдет твое решение..главное работает )
вот еще вопрос почему я js не могу сделать число с дробной частью при делении, например в mysql при делении числа скажем 10000/100=100.0000
Ответить с цитированием
  #9 (permalink)  
Старый 07.01.2012, 16:53
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,569

toFixed
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 07.01.2012, 16:55
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

мне не нужен .toFixed мне нужно именно делением делать дробь так как данные хранятся в целом виде в БД...числа если у них на конце не ноль делятся...к примеру 1001/100=10.01 а 1000/100 = 10 ((

Последний раз редактировалось simple, 07.01.2012 в 16:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать число запятых. LRCenter Общие вопросы Javascript 6 03.10.2010 21:03
Разбить число на миссив, как ? Bogdan808 Общие вопросы Javascript 20 01.09.2010 18:19
Как округлить число в меньшую сторону с заданной точностью? barcelona Общие вопросы Javascript 2 19.08.2009 12:07
число во время boozer Элементы интерфейса 4 25.04.2009 01:58
Как прибавлять число к числу? Forgott Общие вопросы Javascript 9 06.05.2008 08:47