Эта функция предполагает, что то, что ей передается, является строкой с десятичной точкой и двумя знаками после десятичной дроби. Чтобы сначала получить номер в этом формате, используйте это.
Тогда эта функция правильно разделит числа запятыми. Например, 2345643.00 вернет 2345643.00.
function CommaFormatted(amount) ( var delimiter = ","; // replace comma if desired var a = amount.split('.',2) var d = a(1); var i = parseInt(a(0)); if(isNaN(i)) ( return ''; ) var minus = ''; if(i 3) ( var nn = n.substr(n.length-3); a.unshift(nn); n = n.substr(0,n.length-3); ) if(n.length > 0) ( a.unshift(n); ) n = a.join(delimiter); if(d.length < 1) ( amount = n; ) else ( amount = n + '.' + d; ) amount = minus + amount; return amount; )