美文网首页
StrToInt64Def - C++ Builder

StrToInt64Def - C++ Builder

作者: 玄坴 | 来源:发表于2022-04-29 08:23 被阅读0次

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


字符串转64位整数值

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

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

参数:

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

返回值:

  • 整数类型数值,如果转换失败,函数返回参数 Default 的值;
  • 字符串可以是十进制或十六进制数据:开始可以有正负号 "+" 或 "-",也可以没有,然后是数字:
    数字以 "0x" 开头认为是十六进制数据,否则认为是十进制,不支持八进制及其他进制;
  • 函数 StrToInt64、StrToInt64Def 和 TryStrToInt64 的区别:
    • StrToInt64 转换失败抛出异常;
    • StrToInt64Def 转换失败返回默认值;
    • TryStrToInt64 转换结果通过参数返回,函数返回值返回是否转换成功。

例:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Memo1->Lines->Add(StrToInt64Def(L"9876543210", 0));
    Memo1->Lines->Add(StrToInt64Def(L"09876543210", 0));
    Memo1->Lines->Add(StrToInt64Def(L"0x9876543210", 0));
    Memo1->Lines->Add(StrToInt64Def(L"-9876543210", 0));
    Memo1->Lines->Add(StrToInt64Def(L"-09876543210", 0));
    Memo1->Lines->Add(StrToInt64Def(L"-0x9876543210", 0));
    Memo1->Lines->Add(StrToInt64Def(L"0x6789ABCDEF", 0));
    Memo1->Lines->Add(StrToInt64Def(L"0x789ABCDEFH", 0));
}

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

运行结果

相关:


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

相关文章

网友评论

      本文标题:StrToInt64Def - C++ Builder

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