美文网首页
StrToIntDef - C++ Builder

StrToIntDef - C++ Builder

作者: 玄坴 | 来源:发表于2022-04-30 12:27 被阅读0次

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


    字符串转整数值

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

    int __fastcall StrToIntDef(const System::UnicodeString S, int Default);
    

    参数:

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

    返回值:

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

    例:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
        Memo1->Lines->Add(StrToIntDef(L"123",0));
        Memo1->Lines->Add(StrToIntDef(L"0123",0));
        Memo1->Lines->Add(StrToIntDef(L"0x123",0));
        Memo1->Lines->Add(StrToIntDef(L"-123",0));
        Memo1->Lines->Add(StrToIntDef(L"-0123",0));
        Memo1->Lines->Add(StrToIntDef(L"-0x123",0));
        Memo1->Lines->Add(StrToIntDef(L"0xABC",0));
        Memo1->Lines->Add(StrToIntDef(L"0xABCH",0));
    }
    

    运行结果:最后一个由于含有字母 'H' 转换失败,返回默认值 0,其余都能正确转换

    运行结果

    相关:


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

    相关文章

      网友评论

          本文标题:StrToIntDef - C++ Builder

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