【发布时间】:2019-04-17 12:13:40
【问题描述】:
当我编写一个简单的wprintf 函数并使用动词符号L"%.2f" 向它传递一个双精度数时,它只是在屏幕上打印一个“f”而不是格式中的数字0.00.
我需要一些帮助,因为无论我在哪里看到它都只是说L"%.2f" 是打印具有 2 个小数位精度的数字的方法。
float duration = (float)((std::clock() - mTimer) / (float)(CLOCKS_PER_SEC / 1000));
wsprintf(message, L">> Speed: %.2f\r\n", duration);
这是引起我头痛的两条线......它们导致
>> Speed: f
正在控制台上打印。
我正在寻找的输出是这样的:
>> Speed: 4000.00
【问题讨论】:
-
什么是
wsprintf()?标准中有一个swprintf(),但它需要不同的参数...... -
啊,我想我找到了。 Some Windows thing?如果是这样,请密切注意文档。
-
谢谢你,我也会研究这个,因为我最后选择了
swprintf()选项。但是我会查看您提供的 MSDN 信息,我只是将代码作为一种爱好,所以我没有真正受过训练或专业的大声笑。我能得到的所有信息都非常感谢。谢谢肖恩
标签: c++ string format precision