# toString method

String toString ()
override

Returns the shortest string that correctly represent the input number.

All doubles in the range `10^-6` (inclusive) to `10^21` (exclusive) are converted to their decimal representation with at least one digit after the decimal point. For all other doubles, except for special values like `NaN` or `Infinity`, this method returns an exponential representation (see toStringAsExponential).

Returns `"NaN"` for double.nan, `"Infinity"` for double.infinity, and `"-Infinity"` for double.negativeInfinity.

An int is converted to a decimal representation with no decimal point.

Examples:

    (0.000001).toString();  // "0.000001"
    (0.0000001).toString(); // "1e-7"
    (111111111111111111111.0).toString();  // "111111111111111110000.0"
    (100000000000000000000.0).toString();  // "100000000000000000000.0"
    (1000000000000000000000.0).toString(); // "1e+21"
    (1111111111111111111111.0).toString(); // "1.1111111111111111e+21"
    1.toString(); // "1"
    111111111111111111111.toString();  // "111111111111111110000"
    100000000000000000000.toString();  // "100000000000000000000"
    1000000000000000000000.toString(); // "1000000000000000000000"
    1111111111111111111111.toString(); // "1111111111111111111111"
    1.234e5.toString();   // 123400
    1234.5e6.toString();  // 1234500000
    12.345e67.toString(); // 1.2345e+68

Note: the conversion may round the output if the returned string is accurate enough to uniquely identify the input-number. For example the most precise representation of the double `9e59` equals `"899999999999999918767229449717619953810131273674690656206848"`, but this method returns the shorter (but still uniquely identifying) `"9e59"`.

## Implementation

    String toString();