我正在用 C++ 构建一个 MFC 项目。我有一个文本字段,用户应该在其中输入一个数字。使用英文键盘时,我可以将其转换为整数。但是当用户切换到日文键盘时,它就不起作用了。
我知道日文键盘会创建双字节字符。但我不知道如何将它们转换为整数。
抱歉信息不足。
我的目的是检查文本字段中输入的用户类型是否是数字。但它无法识别带有日文键盘的数字。我尝试了一些方法,例如:strtol()、_wtoi。但结果(频率)始终为 0;我调试时得到的字符串是123456789而不是123456789。这是我的代码
CString strFrequency;
GetDlgItem(IDC_EDIT_FREQUENCY)->GetWindowText(strFrequency);
if(strFrequency.IsEmpty()){
CDialog::OnOK();
return;
}
for(int i=1; i<strFrequency.GetLength(); i+=2) {
if(!std::isdigit(strFrequency[i])){
MessageBox("数字で入力してください。","発表支援");
return;
}
}
int frequency = atoi(strFrequency);
大家可以帮帮我吗?
提前致谢