C++相当于printf()或格式化输出

Abr*_*rar 3 c++ printf cout

我对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)


Al *_*ndy 8

没有同等的。cout使用格式化输出是一件痛苦的事情。

setprecision使用长格式时,所有建议的解决方案调用和类似的解决方案都非常糟糕。

boost::format不支持一些非常好的功能。与 printf 不兼容。我仍然使用,printf因为它是无与伦比的。