C++ Qt/C++;将QString转换为十进制
如何将QString转换为十进制 在C代码中,它看起来是这样的:C++ Qt/C++;将QString转换为十进制,c++,qt,qstring,qtcore,C++,Qt,Qstring,Qtcore,如何将QString转换为十进制 在C代码中,它看起来是这样的: public static decimal ConvertToDecimal(string tekst, bool upperOnly) { decimal num = 0m; decimal num2 = 1m; string text = upperOnly ? "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" : "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNO
public static decimal ConvertToDecimal(string tekst, bool upperOnly)
{
decimal num = 0m;
decimal num2 = 1m;
string text = upperOnly ? "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" : "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234";
int i = tekst.Length - 1;
while (i >= 0)
{
num += text.IndexOf(tekst[i]) * num2;
i--;
num2 *= text.Length;
}
return num;
}
根据:
int QString::toInt(bool*ok=0,int base=10)const
使用base base返回转换为int
的字符串,默认值为10
,必须介于2和36之间,或0。如果转换失败,则返回0
如果发生转换错误,*ok
设置为false;否则,*确定
设置为真
如果base为0,则使用C语言约定:如果字符串以“0x”开头,则使用base 16;如果字符串
以“0”开头,则使用基数8;否则,使用底座10
字符串转换将始终在“C”语言环境中进行。对于依赖于语言环境的转换,请使用QLocale::toInt()
例如:
请注意,根据具体的用例,您可能还希望查看以下文档:
这可能有答案:@Rolice:这可能只是OP所问问题的一小部分。我只是参考一些例子,不要否认你的答案,尤其是评论:)@Rolice:够公平的了。)我想如果OP对确切的数字模式更清楚的话,我们可以更具体一些。这就是我现在试图提供所有可能选项的原因。:)
QString str = "FF";
bool ok;
int hex = str.toInt(&ok, 16); // hex == 255, ok == true
int dec = str.toInt(&ok, 10); // dec == 0, ok == false