こんにちは。
開発環境は、delphiXE3 enterprise(update2適用)、win7(sp1)です。
いつもお世話になっております。
integerの最大値2147483647を超える数値が考えられるので、integerの上位のint64を使おうと考えました。
プログラムの中で、strtointを使っているところを以下のように変更しました。
if (length(strTemp)>length('2147483647'))or((length(strTemp)=length('2147483647'))and(strTemp>'2147483647'))) then
begin
intRet:=strtoint64(strTemp);
end
else
begin
intRet:=strtoint(strTemp);
end;
仮に、strTemp:='5555555555'の場合、5555555555でない数値が返ってきます。
これを5555555555が戻るようにするにはどうしたら良いのでしょうか?
よろしくお願いします。
すみません。
間違っていました。
受けるintRetがintegerだったので変換がかかっていただけでした。
int64で宣言した変数に入れた場合問題なく取得できました。
お騒がせしました。
ツイート | ![]() |