巨大な数値同士を加算するAppleScriptです。
AppleScriptの数値型データが±99999999程度で指数表示になってしまうため、巨大な数値を扱うのには向いていないのですが、直接数値で扱わずに文字列として保持すれば問題はありません。
数値文字同士の計算についても、bcコマンドを使うことで四則演算+α程度は行えるので、あまり問題はないでしょう。bcコマンドを呼び出すオーバーヘッドはそれなりにあるので、すべての数値を文字列で保持したりするのは得策ではありません。必要な箇所だけ使う、といったところです。
AppleScript名:大きな数値同士を足し算する |
set a to "100000000000000000" set b to "200000000000000000" set c to addLargeNumber(a, b) of me on addLargeNumber(aNum, bNum) set aNumStr to aNum as string set bNumStr to bNum as string set aCMD to "echo \" scale=10; " & aNumStr & "+" & bNumStr & " \" | bc" set aRes to do shell script aCMD return aRes end addLargeNumber |
More from my site
(Visited 71 times, 1 visits today)