如何限制"e"前的小数位?
How do I limit the decimal places before "e"?
我想在c++中以"1.00e6"的格式打印一个浮点变量x,其中我只需要在e之前的小数点后2位。
阅读此:http://www.cplusplus.com/reference/cstdio/printf/,我不确定使用哪个说明符。这可以在c++中实现吗?
在c++中也可以这样做:
double f = 1.00e6;
std::cout.precision(2);
std::cout << std::scientific;
std::cout<<f <<std::endl;
It will output: 1.00e+06 in this case.
EDIT:正如@user657267指出的,precision
也有一个操纵符,
double f = 1.00e6;
std::cout << std::setprecision(2) << std::scientific << f << 'n';
有同样的效果
如果您在任何类unix系统(OS X, Linux, BSD等)上,请阅读printf()
与man 3 printf
的文档。通常,您使用.N
指定精度,其中N
是所需的精度:
#include <stdio.h>
int main()
{
printf("%.2en", 1.0);
}
输出:1.00e+00
我已经给出了C语言的代码,因为这是一个关于C标准库的问题,它是c++标准的一部分。
相关文章:
- 用C++20 fmt限制结果的总大小
- C++将浮点指针值舍入为小数位数
- 从给定的 I 和 D 序列中形成最小数
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 对于C++中使用智能指针的指针算术限制,有没有一种变通方法
- 当用户超过按钮点击限制时报告
- Python中的for循环与C++有何不同
- 如何在c++中限制尝试次数
- 将QGraphicsItem的移动区域限制在多边形区域内
- 将 cin 限制为只有一个
- 随机数未达到限制
- 使用 std::index_sequence 初始化具有固定大小数组成员的 POD 结构容器
- 重载算子新功能的限制
- 计算 PI 最多 42 位小数
- 在C++中释放内存期间,迭代器与指针有何不同
- 为什么我必须添加一个小数才能在C++中正确计算此数学
- 我如何限制计算出的浮点值的小数位数
- 如何比较限制小数位置的双重值
- 如何限制输入小数位数,直到用户可以输入值