关于QString转换成数值

来源:互联网 发布:sql server乘固定数值 编辑:程序博客网 时间:2024/05/21 15:05

在Qt 中QString 转换成数值有直接调用的接口:

1)

inttoInt ( bool * ok = 0, int base = 10 ) const

2)doubletoDouble ( bool * ok = 0 ) const

如果想知道转换是否成功,可以通过检查参数ok返回的值是否为真来判断。

一直以来对空字符串转换成数值是否可行存在疑问?

今天试了一下,不成!!返回的ok=false.

不仅如此,

1)连QString iStr("8.123");这样的字符串转换成 toInt,也会失败。返回值为0,且ok=false。结论一:浮点形式的字符串不能转换成整型数值。

2)连QString iStr("     8    ");  这样的字符串转换成 toInt,成功。返回值为8,且ok=true。结论二:字符串两头的空格会被忽略掉。

同理,  QString dStr("   9.0134"); 和QString dStr("9.0134   "); 和 QString dStr("    9.0134    ");  可以成功转换浮点数值。

3)QString dStr("   9.0  134");  转换成浮点数值失败。结论三:如果字符串中间有空格,会导致转换失败。

0 0
原创粉丝点击