Numberfix

JavaScript

function fixNumber(number){
    var roundedNumber = Math.round(parseFloat(number) * 100000000) / 100000000,
    		numberString = roundedNumber.toString(),
        parts = numberString.split('.'),
        integerPart = parts[0],
        decimalPart = parts.length > 1 ? parts[1] : '';

    integerPart = integerPart.split('').reverse().join('').replace(/(\d{3})/g, '$1,').split('').reverse().join('').replace(/^(-?),/, '$1');
    decimalPart = decimalPart.replace(/0+$/, '');
    
    return decimalPart.length ? integerPart + '.' + decimalPart : integerPart;
}

document.write(fixNumber(121) + '<br>');
document.write(fixNumber(14231.439400000) + '<br>');
document.write(fixNumber(1.123456789) + '<br>');
document.write(fixNumber(-9012.4430001) + '<br>');