Number(123.456).toFixed(20)
発する
"123.45600000000000306954"
どこ306954
から来たの?バイナリで表される数値が正確ではないことはわかっています。しかし、ドキュメントには、number(/.../) を呼び出すと精度が失われるという言及は見つかりませんでした。
mdn言う
指数表記を使用せず、小数点以下の桁数が正確にある数値の文字列表現。数値は必要に応じて丸められ、指定された長さになるように、必要に応じて小数部分にゼロが埋め込まれます。number が 1e+21 より大きい場合、このメソッドは単純に Number.toString() を呼び出し、指数表記の文字列を返します。
編集
toFixed は浮動小数点ではなく固定小数点を返します ...