如何检查QString的第一个字符?

Wes*_*Wes 4 c++ qt

我想要以下代码从价格中删除前导零(0.00应该减少到.00)

QString price1 = "0.00";
if( price1.at( 0 ) == "0" ) price1.remove( 0 );
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:"错误:从'const char [2]'到'QChar'的转换是模棱两可的"

Gna*_*wme 6

主要问题是Qt看作"0"是一个以null结尾的ASCII字符串,因此编译器消息const char[2].

另外,QString::remove()有两个参数.所以你的代码应该是:

if( price1.at( 0 ) == '0' ) price1.remove( 0, 1 );
Run Code Online (Sandbox Code Playgroud)

这在我的系统上构建并运行(Qt 4.7.3,VS2005).


Ghi*_*ita 5

尝试这个:

price1.at( 0 ) == '0' ?
Run Code Online (Sandbox Code Playgroud)