将 float 转换为 int,还是将 int 转换为 float?

Cast float to int, or int to float?

我可以将常量定义为浮点数或 32 位 uint:

const float SecondsPerMinute = 60.0F;

const uint32 SecondsPerMinute = 60U;

const 用在一些期望 int 的方程和一些期望 float 的方程中。我想让我的编译器和静态分析工具满意,所以我会 static_cast 根据需要将其转换为适当的类型。

是将const定义为float并转换为int更好,还是将其定义为int并转换为float?这有什么不同,还是这更多是个人意见?

假设常量与 int 和 float 的使用次数相同。

模板怎么样:

template <typename T>
constexpr T SecondsPerMinute = T(60);

用法:

std::printf("%d %f", SecondsPerMinute<int>, SecondsPerMinute<double>);