Преобразование числа к виду с пробелами
Привет.
Рассчитывается определённая денежная сумма, необходимо вывести её с пробелами после каждой третьей цифры, начиная справа. Есть метод toLocaleString(), который это делает, но он по разному работает в разных браузерах. Подскажите, как решить данную проблему? Есть ли плагин какой-то для этого? |
Здравствуйте!
Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/ Задавайте конкретные вопросы по ходу дела. |
function abc(n) { return (n + "").split("").reverse().join("").replace(/(\d{3})/g, "$1 ").split("").reverse().join("").replace(/^ /, ""); } alert( abc("13788656456456456") ); Вот ещё один вариант, в 4 раза быстрее работает: function abc2(n) { n += ""; n = new Array(4 - n.length % 3).join("U") + n; return n.replace(/([0-9U]{3})/g, "$1 ").replace(/U/g, ""); } alert(abc2("13788656456456456")); |
|
Вариант )))
var a = "tyty 13788656456456456"; alert(a.replace(/(\d{1,3})(?=((\d{3})*)$)/g, " $1")); |
рони,
var a = "tyty 13788656456456456 tyty"; alert(a.replace(/(\d{1,3})(?=((\d{3})*)$)/g, " $1")); Или непонятно зачем tyty в начале. |
Kolyaj,
По вашей ссылке вариант более корректный ... tyty так просто))) поправил .... var a = "tyty 13788656456456456 tyty"; alert(a.replace(/(\d{1,3})(?=((\d{3})*([^\d]|$)))/g, " $1 ")); |
Kolyaj, 1:1
|
Всем спасибо.
|
Здравствуйте!
Подскажите, пожалуйста, как должен выглядеть вот этот код, умножающий число в теге с классом 'i-price' (взят отсюда): <script type="text/javascript"> var els = document.getElementsByTagName('p'); for (var i = 0; i < els.length; i++) { if (els[i].className == 'i-price') { els[i].innerHTML = els[i].innerHTML.replace(/([\d.]+) USD/, function(all, price) { return (parseFloat(price) * 35) + ' руб.'; }); } } </script> чтобы число выводилось уже разделённым на разряды. Спасибо... |
Часовой пояс GMT +3, время: 05:32. |