函数原型:
__int64 __fastcall StrToInt64(const UnicodeString S);
头文件:
#include <System.SysUtils.hpp> (XE2 之后),#include <SysUtils.hpp> (XE 之前)
参数:
S: 字符串,如果以 L"0x" 或 L"0X" 开头,认为是十六进制字符串,如果不是 L"0x" 或 L"0X" 开头的字符串,认为是十进制。
返回值:
转换之后的整数。
如果转换失败,会抛出 EConvertError 异常,需要用 try 捕获异常。
例1:字符串转为整数
try
{
__int64 i = StrToInt64(Edit1->Text);
}
catch(Exception &E)
{
ShowMessage(L"您输入的 \"" + Edit1->Text + L"\" 不是有效的整数!\r\n错误信息:" + E.Message);
} |
例2:十六进制转十进制
try
{
__int64 i = StrToInt64(L"0x" + Edit1->Text); // 前面加上 L"0x" 认为 Edit1 里面是十六进制
Edit2->Text = IntToStr(i); // 转为十进制字符串,放在 Edit2 里面
}
catch(Exception &E)
{
ShowMessage(L"您输入的 \"" + Edit1->Text + L"\" 不是有效的十六进制数!\r\n错误信息:" + E.Message);
} |
相关链接:
• atoi • atol • _atoi64 • strtol • strtoll • strtoul • strtoull
• itoa • ltoa • ultoa • _i64toa • _ui64toa
• IntToStr • UIntToStr • IntToHex
• StrToInt • StrToIntDef • StrToInt64 • StrToInt64Def • StrToUInt64 • StrToUInt64Def
• EnumToStr • StrToEnum
|