将printf更改为cout语句

Man*_*yLB 2 c++ printf cout

我正在尝试将printf声明更改为std::cout声明.我将如何为以下方面做到这一点:

printf("\n %.2f Celsius = %.2f Fahrenheit", celsius, fahrenheit);
Run Code Online (Sandbox Code Playgroud)

celcius并且fahrenheit都是float类型,%f来自scanf("%f", &fahrenheit);.

Aze*_*eem 5

您可以使用流操纵 std::fixedstd::setprecision<iomanip>头部到实现这一目标.

这是一个例子:

#include <iostream>
#include <iomanip>

// printf("\n %.2f Celsius = %.2f Fahrenheit", celsius, fahrenheit);

int main()
{
    const float celsius = 10.555;
    const float fahrenheit = 50.999;

    std::cout << '\n'
              << std::fixed
              << std::setprecision( 2 )
              << celsius << " Celsius = "
              << fahrenheit << " Fahrenheit";

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

10.56摄氏度= 51.00华氏度

以下是实例:https://ideone.com/ElJ0Wg

但是,这并不像它那样紧凑printf.但是,这个格式库(fmt)试图实现printf与其他好东西一起的紧凑性.而且,AFAIK,它已被提议包含在C++标准库中.所以,IMO,在您的项目中探索和使用它是个不错的主意.