美文网首页
StrToUInt64Def - C++ Builder

StrToUInt64Def - C++ Builder

作者: 玄坴 | 来源:发表于2022-05-05 13:05 被阅读0次

C++ Builder 参考手册System::SysutilsStrToUInt64Def


字符串转无符号64位整数值

头文件:#include <System.SysUtils.hpp>
命名空间:System::Sysutils
函数原型:

unsigned __int64 __fastcall StrToUInt64Def(const System::UnicodeString S, const unsigned __int64 Default);

参数:

  • S:字符串;
  • Default:默认值;

返回值:

  • 无符号64位整数类型数值,如果转换失败,返回参数 Default 的值;
  • 字符串可以是十进制或十六进制数据:以 "0x" 开头认为是十六进制数据,否则认为是十进制,不支持八进制及其他进制;
  • 函数 StrToUInt64、StrToUInt64Def 和 TryStrToUInt64 的区别:
    • StrToUInt64 转换失败抛出异常;
    • StrToUInt64Def 转换失败返回默认值;
    • TryStrToUInt64 转换结果通过参数返回,函数返回值返回是否转换成功。

例:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Memo1->Lines->Add(StrToUInt64Def(L"123",0));
    Memo1->Lines->Add(StrToUInt64Def(L"0123",0));
    Memo1->Lines->Add(StrToUInt64Def(L"0x123",0));
    Memo1->Lines->Add(StrToUInt64Def(L"0xABCDE",0));
    Memo1->Lines->Add(StrToUInt64Def(L"0xFFFFFFFF",0));
    Memo1->Lines->Add(StrToUInt64Def(L"0xFFFFFFFFFFFFFFFF",0));
    Memo1->Lines->Add(StrToUInt64Def(L"123H",0));
}

运行结果:最后一个由于含有字母 'H' 转换失败,返回默认值 0 (函数第二个参数的值),其他都转换成功

运行结果

相关:


C++ Builder 参考手册System::SysutilsStrToUInt64Def

相关文章

网友评论

      本文标题:StrToUInt64Def - C++ Builder

      本文链接:https://www.haomeiwen.com/subject/oridahtx.html