如何在 C++ 中更改 printf("%.2f")

Posted

技术标签:

【中文标题】如何在 C++ 中更改 printf("%.2f")【英文标题】:How can i change printf("%.2f") in C++ 【发布时间】:2020-02-28 01:58:11 【问题描述】:

如何在 C++ 中更改 printf("%.2f") 以便它也显示最多两位小数 使用 cout

同样为了在 c++ 中更改为有空格,就像在 c 中一样 printf("-6c%14d%20.2f",'A',val1,val2); 我已经在 double 中声明了 val1,val2

【问题讨论】:

参见en.cppreference.com/w/cpp/io/ios_base/width 和en.cppreference.com/w/cpp/io/manip/setprecision 的示例代码。这应该会有所帮助。 到目前为止你有什么尝试? 你试过先搜索吗? 【参考方案1】:

更改使用头文件 和 setprecision(要显示的位数)

#include<iostream>
#include<iomanip>
using namespace std;
int main()
 
double a;
cin>>a;
  cout<<setprecision(4)<<a;
return 0;

对于你的第二个问题,就像在 c++ 中一样有空格,你可以简单地使用这个方法和 setprecision 正如您的问题所要求的那样

 cout<<" "<< 'A'<<"\t\t    "<<val1<<"\t\t     "<<setprecision(4)<<val2<<endl;

【讨论】:

感谢您,这对这两个问题都更有帮助并且得到了很好的解释【参考方案2】:

这可以使用用于流操作的std::setprecision() 来完成

#include<iomanip>
#include<iostream>
int main()

  float pi = 3.14159;
std::cout<<std::setprecision(3)<<pi;
return 0;

【讨论】:

以上是关于如何在 C++ 中更改 printf("%.2f")的主要内容,如果未能解决你的问题,请参考以下文章

printf(" ")和cout<<两个输出有啥区别?

C++中printf() 使用方法?

如何将类中的函数放入线程中? (使用 Boost 的 C++)

c++中如何产生随机字符串

C++不定参数

c++编程中语句太长如何换行