Не очень хороший способ, но кто мешает расширить прототип родителя? Вот таким греховным образом числа в моем приложении обретают формат:
/* Метод format конструктора Number >>>
* Расширение прототипа
*
* Метод позволяет задавать число знаков после запятой и
* Вводить знак валют до или после значения.
*
* Пример работы: (123456789.12345).format(2, 2, '—', '=')
* возвращает: 1—23—45—67—89=12
*
* Все экземпляры Number наследуются от Number.prototype.
*/
Number.prototype.format = function (n, x, s, c) {
var re = '\\d(?=(\\d{' + (x || 3) + '})+' + (n > 0 ? '\\D' : '$') + ')';
var num = this.toFixed(Math.max(0, ~~n));
return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));
};
И так вот используются:
Number(condPriceMin).format(0, 3, ' ', '.') + '<i class="fa fa-rub"></i>';