lib/number.js
function (num) {
            
            if (typeof num !== 'number')
                throw "TypeMismatch: num: Number";
    
            else if (!isFinite(num))
                return num.toString();
            
            else {
                var p = _getPrecision(num);
                return num.toFixed(Math.max(0, p));
            }
        }
function (num) {
            
            if (typeof num !== 'number')
                throw "TypeMismatch: num: Number";
    
            else if (!isFinite(num))
                return num.toString();
            
            else {
                var p = _getPrecision(num);
                return num.toFixed(Math.max(0, p));
            }
        }
function ( num ) { if ( typeof num !== 'number' ) throw "TypeMismatch: num: Number" ; else if ( ! isFinite ( num ) ) return num . toString ( ) ; else { var p = _getPrecision ( num ) ; return num . toFixed ( Math . max ( 0 , p ) ) ; } }
Converts a number to a String.
This function covers the problem of the IEEE weirdness.

This function is useful when converting a number to String
without knowing how many decimals a number has.

Note that if caller knows how many decimals it wants then
it should use Number.toFixed() instead.
( Because inside this method it calls _getPrecision(num) to
get a number's precision first. )

@param num {Number}
@return {String}
Converts a number to a String . This function covers the problem of the IEEE weirdness .