Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как вставить кому (https://javascript.ru/forum/misc/19269-kak-vstavit-komu.html)

max00077 30.07.2011 19:25

Как вставить кому
 
Дело такого рода... Есть число типа 12345 и мне надо вставить кому после полседних трех чисел тоесть результат будет 12,345.
Изначальноне чилсо постоянно меняетса, может быть и в таком формате-1234 но кому всеравно надо вставить после последних трех чисел. знаю точно что ето можно сделать с регулярными в.. но как ?)

max00077 30.07.2011 19:36

как вариант чтобы неговорили что не леньтяй..
var t =12345;
var t= t.split();
t[t.length-3]=',' ;
t=t.join("");//12,345

dmitriymar 30.07.2011 19:39

с регулярками в скрипте ни как вообше) в рнр будет так
$subject="12678900345555";
$result = preg_replace('/(.*)([0-9]{3})$/', '$1,$2', $subject);
echo($result);
переделай под скрипт

float 30.07.2011 19:42

хм.... может просто n/1000 ?

monolithed 30.07.2011 19:44

max00077,
в будущем, давайте своим темам осмысленные названия

Aetae 30.07.2011 19:53

Если не думать.
num= 2523523;
alert ( (num+'').replace(/(.{3})$/,',$1') )

max00077 30.07.2011 20:05

Цитата:

Сообщение от float (Сообщение 116329)
хм.... может просто n/1000 ?



так будет точка, а надо кому. но спасиба, потом ведй можно точку на кому заменить просто;-)

max00077 30.07.2011 20:11

s=s/1000;
s=(s+'').replace('.' , ',');
или можно как то попроще?????

B@rmaley.e><e 30.07.2011 21:58

var format = function(n){return n.toString().replace(/(\d+)(\d{3})/, '$1,$2');};

alert( [format(123), format(1234), format(12345), format(12346), format(123467), format(1234678)].join('\n') )

melky 30.07.2011 22:07

B@rmaley.e><e,

Цитата:

1234678 => 1,234,678
у тебя 1234,678

B@rmaley.e><e 30.07.2011 22:28

melky, нигде не говорилось, что нужно разделять каждые 3 разряда, начиная с конца. Если нужно именно так, то смотреть сюда.

melky 30.07.2011 22:54

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 116370)
melky.

:) тогда вопросов нет

kobezzza 31.07.2011 00:04

Вы не поверите о чём я подумал, когда увидел заголовок этой темы:haha:

max00077 31.07.2011 03:27

Цитата:

Сообщение от kobezzza (Сообщение 116407)
Вы не поверите о чём я подумал, когда увидел заголовок этой темы:haha:

ну да))) методом "insert"! но всетаки немало народу зашло в топ! есть желающие на сем форуме):lol:

max00077 31.07.2011 03:27

с етим разобрались, всем спасибо!!!)
еще если не затруднит подсказать как можно восьми значное число разбить по две цифры в четыре отдельных текстовых поля, методом регексп. Масивом раскидать уже знаю как

monolithed 31.07.2011 04:49

Цитата:

Сообщение от kobezzza
Вы не поверите о чём я подумал, когда увидел заголовок этой темы

ты не один такой)
Цитата:

Сообщение от max00077
еще если не затруднит подсказать как можно восьми значное число разбить по две цифры

alert('10000000'.replace(/\d{2}/g, '$&\u2009'));

B@rmaley.e><e 31.07.2011 10:01

alert('12345678'.split(/(?=(?:\d{2})+$)/))

max00077 31.07.2011 11:51

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 116433)
alert('12345678'.split(/(?=(?:\d{2})+$)/))

Ну и где ткаому учат?!!! Вот етого никак не пойму. Спасиба. Подскажите хороший ресурс плис по РВ. Или ето лудше в перловских мануалах искать. ? Вроде как итличаютса.

NoResponse 31.07.2011 13:19

начните например отсюда
http://ru.wikipedia.org/wiki/Regex

B@rmaley.e><e 31.07.2011 13:20

Да читать особо ничего не надо - хватит мануала по регэкспам. Нужно только практики побольше.

monolithed 31.07.2011 15:37

а вот оно, что....
тогода можно же проще:
alert('12345678'.match(/\d{2}/g));

max00077 31.07.2011 15:50

t=t.match(/\d{2}+/g);
f.value=t[1];
f2.value=t[2] i td i tp))

monolithed 31.07.2011 16:25

к чему этот за набор бессмысленных букв?


Часовой пояс GMT +3, время: 02:16.