美文网首页c/c++
StrToBoolDef - C++ Builder

StrToBoolDef - C++ Builder

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

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


    字符串转布尔型数值

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

    bool __fastcall StrToBoolDef(const System::UnicodeString S, const bool Default);
    

    参数:

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

    返回值:

    • 布尔型数值:
      • 字符串 S 如果是数字 (整数或小数),能够成功的转成浮点数,数值等于 0 返回 false,不等于 0 返回 true;
      • 字符串 S 如果在 Sysutils::FalseBoolStrs 全局字符串数组里面能够找到 (不区分大小写),返回 false;
      • 字符串 S 如果在 Sysutils::TrueBoolStrs 全局字符串数组里面能够找到 (不区分大小写),返回 true;
      • 前面条件都不满足,返回参数 Default 值;
    • 可以通过修改全局字符串数组 Sysutils::FalseBoolStrs 和 Sysutils::TrueBoolStrs 改变识别的字符串,请参考 StrToBool 的详细描述;
    • 函数 StrToBool、StrToBoolDef 和 TryStrToBool 的区别:
      StrToBool 转换失败抛出异常;
      • StrToBoolDef 转换失败返回默认值;
      • TryStrToBool 转换结果通过参数返回,函数返回值返回是否转换成功;
    • 布尔型默认显示为 1 和 0,可以用函数 BoolToStr 转成 "True"、"False" 或 "是"、"否" 等字符串。

    例:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
        Memo1->Lines->Add(StrToBoolDef(L"10"   ,false)); // true
        Memo1->Lines->Add(StrToBoolDef(L"-1.5" ,false)); // true
        Memo1->Lines->Add(StrToBoolDef(L"true" ,false)); // true
        Memo1->Lines->Add(StrToBoolDef(L"0"    ,false)); // false
        Memo1->Lines->Add(StrToBoolDef(L"0.0"  ,false)); // false
        Memo1->Lines->Add(StrToBoolDef(L"false",false)); // false
        Memo1->Lines->Add(StrToBoolDef(L"fault",true )); // 失败返回 true
        Memo1->Lines->Add(StrToBoolDef(L"error",false)); // 失败返回 false
    }
    

    运行结果:

    运行结果

    相关:

    • System::Sysutils::BoolToStr
    • System::Sysutils::StrToBool
    • System::Sysutils::StrToBoolDef
    • System::Sysutils::StrToCurr
    • System::Sysutils::StrToCurrDef
    • System::Sysutils::StrToDate
    • System::Sysutils::StrToDateDef
    • System::Sysutils::StrToDateTime
    • System::Sysutils::StrToDateTimeDef
    • System::Sysutils::StrToFloat
    • System::Sysutils::StrToFloatDef
    • System::Sysutils::StrToInt
    • System::Sysutils::StrToIntDef
    • System::Sysutils::StrToInt64
    • System::Sysutils::StrToInt64Def
    • System::Sysutils::StrToTime
    • System::Sysutils::StrToTimeDef
    • System::Sysutils::StrToUInt
    • System::Sysutils::StrToUIntDef
    • System::Sysutils::StrToUInt64
    • System::Sysutils::StrToUInt64Def
    • System::Sysutils::TryStrToBool
    • System::Sysutils::TryStrToCurr
    • System::Sysutils::TryStrToDate
    • System::Sysutils::TryStrToDateTime
    • System::Sysutils::TryStrToFloat
    • System::Sysutils::TryStrToInt
    • System::Sysutils::TryStrToInt64
    • System::Sysutils::TryStrToTime
    • System::Sysutils::TryStrToUInt
    • System::Sysutils::TryStrToUInt64
    • System::Sysutils
    • std::atof, std::_ttof, std::_wtof
    • std::_atold, std::_ttold, std::_wtold
    • std::atoi, std::_ttoi, std::_wtoi
    • std::atol, std::_ttol, std::_wtol
    • std::atoll, std::_ttoll, std::_wtoll
    • std::_atoi64, std::_ttoi64, std::_wtoi64
    • std::strtof, std::_tcstof, std::wcstof
    • std::strtod, std::_tcstod, std::wcstod
    • std::strtold, std::wcstold, std::_strtold, std::_tcstold, std::_wcstold
    • std::strtol, std::_tcstol, std::wcstol
    • std::strtoll, std::_tcstoll, std::wcstoll
    • std::strtoul, std::_tcstoul, std::wcstoul
    • std::strtoull, std::_tcstoull, std::wcstoull
    • <cstdlib>

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

    相关文章

      网友评论

        本文标题:StrToBoolDef - C++ Builder

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