品川さん
ありがとうございます。
JavaScriptの情報があったので、それを元にいろいろと調べてみているところです。
-----引用-----
JavaScriptの数値型は内部で倍精度浮動小数点数を使用しており、整数を正確に表せる最大値(MAX_SAFE_INTEGER)は、 2^53 - 1、つまり9007199254740991(16桁・約9007兆1993億)となっています。 それを超える数値は丸め処理が行われるため、内部ではどんな数値も必ず偶数になります。
-----引用終わり-----
私が試してみたところ、Numbersではもっと小さな値で限界となるようです。
Numbers においては10進法で15桁までが丸められない数値のようです。
999,999,999,999,999に2を加えたところ、1,000,000,000,000,000となりました。末尾の1が丸められて0となっています。
999,999,999,999,999を100倍すると99,999,999,999,999,900と出ますが、それに49を加えても99,999,999,999,999,900のままですが、50を加えると100,000,000,000,000,000となります。599まで加える数字を増やしても計算結果は変わりません。600を加えると初めて100,000,000,000,001,010となります。
この大きな数におけるこの計算結果を回避する方法はまだ分かりません。
回避方法はないという指摘もありました。桁処理を行なって巨大数を上位桁と下位桁に分割してそれぞれを計算し、それを桁処理を行なってConcatenate()するしかないでしょうかね?