Для технических целей (парсеры/...уярсеры) - никаких пробелов быть не должно!
Для форматирования используйте php функцию:
number_format($price, 2, ',', ' '))
где 2 - кол-во цифр после запятой
"," - разделитель целой и дробной части
" " - разделитель разрядов.
Типа такого получится: 10 000,00
Для тех. целей я использую атрибут data:
<div data-price="10000">10 000,00</div>
Т.к. если парсить innerHTML функция parseInt вернет 10, а не 10000!
Для JS вот функция.
function number_format( number, decimals, dec_point, thousands_sep )
{
var i, j, kw, kd, km;
if( isNaN(decimals = Math.abs(decimals)) ){
decimals = 2;
}
if( dec_point == undefined ){
dec_point = ",";
}
if( thousands_sep == undefined ){
thousands_sep = ".";
}
i = parseInt(number = (+number || 0).toFixed(decimals)) + "";
if( (j = i.length) > 3 ){
j = j % 3;
} else{
j = 0;
}
km = (j ? i.substr(0, j) + thousands_sep : "");
kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");
return km + kw + kd;
}