関数を作ってみました。が、コード内には無量大数とか書いてありますが、実際には safe integer
の範囲内にしか対応してません。これは今のChrome (ver.71) だと -9007199254740991 ~ 9007199254740991 です。
safe integerの範囲を無視しても、1垓 (10^20) を超えたあたりからは数値を文字列にキャストした時に指数表記 (1e+20みたいな) になってしまうので、うまく変換できませんでした。
なので、以下のコードでは9,007兆くらいが限界です。
以下テストケースです。