UInt64和string之间如何转换?

一如当初 2012-11-29 12:01:42
我要在ini中写入uint64类型,用 writeinteger不行
转换一下后可以写入
WriteString('STR', 'UInt64', UIntToStr(ui64));

但是读出的话不行了,比如值18446744073709551615,StrToInt64是不行的
...全文
1618 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝色光芒 2012-11-29
  • 打赏
  • 举报
回复

var
  Ini : TiniFile;
  U64 : UInt64;
begin
  U64 := $FFFFFFFFFFFFFFFF;
  Ini := TIniFile.Create('E:\dd.ini');
  Ini.WriteString('Root' , 'Key' , IntToHex(U64 , 8));
  U64 := StrToInt64Def('$' + Ini.ReadString('Root' , 'Key' , ''),0);
  Ini.Free;
  if U64=$FFFFFFFFFFFFFFFF then
    ShowMessage('ok');
end;
18446744073709551615=$FFFFFFFFFFFFFFFF刚好64位
JPEXE 2012-11-29
  • 打赏
  • 举报
回复
18446744073709551615已经超出64位了!
haitao 2012-11-29
  • 打赏
  • 举报
回复
大于2^63?使用2个int64呢

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧