c++ - 如何打印小数部分为零的浮点数
问题描述
在 C++ 语言中,我想打印一个浮点数,就像2.0
它的小数部分一样,而不使用fixed
and setpresicion
。我怎样才能做到这一点?我不得不打印几个双数,每个都有不同长度的小数部分(有些只有一个.0
)。显示时,我希望每个数字在小数点后都有准确的挖掘数字,尽管有一个零,但没有多余的零。如您所知cout
,如果浮点数仅为零,则不要打印浮点数的小数部分。所以我想解决这个问题,似乎使用fixed
和不setprecision
正常工作。
解决方案
好吧,如果你真的不想使用setprecision
and fixed
。您可以使用template
.
例如:
#include <iostream>
// d = The decimal places you want.
template<int d>
std::ostream& fixed(std::ostream& os){
os.setf(std::ios_base::fixed, std::ios_base::floatfield);
os.precision(d);
return os;
}
int main(){
double d = 2.0;
std::cout << fixed<2> << d;
}
推荐阅读
- sql-server - 在 SQL 语句中将 NULL 作为参数传递时,如何调整 WHERE 子句以选择所有没有 Premium = 0 的记录
- r - 如果函数工厂的输出依赖于输入而不是其参数,我该如何将其放入 R 包中?
- javascript - 使用 kafka 消费者的数据库操作或 http 调用
- jquery - jquery按钮不附加
- java - Gradle - 线程“主”java.lang.NoClassDefFoundError 中的异常:org/slf4j/LoggerFactory
- ios - 使用分段控制器重叠 UIView 问题
- unit-testing - NSubstitute:无法模拟与没有相应设置器的成员变量关联的语法糖 getter 方法
- c# - 在 C# 中检查两个数组的循环排列
- azure-application-insights - 带有 Application Insights 的 Azure Java Web App 每 5 分钟显示 404
- python - 查找列表的索引,该列表是更大列表的一部分