我对C++世界比较陌生.我知道std::cout用于C++中的控制台输出.但请考虑C中的以下代码:
#include<stdio.h>
int main(){
double dNum=99.6678;
printf("%.02lf",dNum);
//output: 99.67
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如何cout在C++中使用最多2位小数的双重类型值实现类似的格式化?
我知道C++与C向后兼容.但是如果有的话,C++中是否有printf()等价,那么它定义在哪里?
vis*_*hal 10
这就是你想要的:
std::cout << std::fixed << std::setprecision(2);
std::cout << dNum;
Run Code Online (Sandbox Code Playgroud)
并且不要忘记:
#include <iostream>
#include <iomanip>
Run Code Online (Sandbox Code Playgroud)
没有同等的。cout使用格式化输出是一件痛苦的事情。
setprecision使用长格式时,所有建议的解决方案调用和类似的解决方案都非常糟糕。
boost::format不支持一些非常好的功能。与 printf 不兼容。我仍然使用,printf因为它是无与伦比的。