今天鼓捣这个浮点数转化成字符串的问题,默认情况是使用科学计数法,不太好看。网上查了一下,有个std库的例子,用sstream和string的,不过我这里测试了一下,好像没有效果。
探索过程中,其实就是文档阅读和小代码尝试,发现了两条路,一条是:
1 2 3 4 5 6 7 8 9 10 11 |
double x = 12345678900000.0; QString s; QTextStream ts; ts.setString( &s ); ts.setRealNumberNotation( QTextStream::FixedNotation ); ts.setRealNumberPrecision( 2 ); ts << x; ts.flush(); |
另一条更简洁的路是:
1 2 3 |
double x = 12345678900000.0; QString s = QString::number( x, 'f', 2 ); |
不过这两种方式都限定了小数点后的精度。如果我想要0.0000001234的字符串“0.0000001234”的代码,还没有找到。