Qt - 将浮点数转换为字符串

22
这似乎应该非常简单,但是我看了文档却没有找到任何内容。 我只需要将表示为float对象的数字转换为QString对象。 我知道有一个名为QString :: number()的函数可以用于其他类型,如int和double,例如:
int a = 1; QString b = QString :: number(a);
但是,这似乎不适用于浮点数。 或许有一些方法,可以将其先从float转换成另一种类型,然后再从该类型转换为QString?如果有人有任何想法,我会感激不尽。谢谢!

...然而对于浮点数似乎不起作用。你的意思是你试过了,但出现了问题,还是说它并没有被记录存在于浮点数中?如果是前者,请详细说明"没有起作用"指什么。 - starsplusplus
1
有时候你只需要试一下。恰好这种情况下,它只是能够工作,而这与Qt无关,却与C++完全有关 :) - Kuba hasn't forgotten Monica
可能是C++:隐式类型转换的重复问题。 - Kuba hasn't forgotten Monica
1个回答

44

float在需要的时候会自动提升为double

float pi = 3.14; 
QString b = QString::number(pi);

应该能够工作

否则,您可以使用setNum:

float pi = 3.14; 
QString b;
b.setNum(pi);

请澄清一下,在答案中,a等于π吗? - thnkwthprtls
1
没问题,顺便说一下,我在文档中看到它可以使用双精度,但没有意识到它会自动将其更改为浮点数。谢谢! :) - thnkwthprtls
1
为了完整性,QString::arg 是另一种实现此操作的方式。 - hyde

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接