【问题标题】:How can I limit the amount of decimal places for a calculated float value?如何限制计算的浮点值的小数位数?
【发布时间】:2019-05-17 04:01:36
【问题描述】:

当我计算 5/2 时,结果是 2.500000,所以我想知道如何将浮点值的结果限制为 2.50。我没有使用 cout setprecision() 或 fixed 语句,因为我需要算术值的实际结果只有 2 个小数位。

【问题讨论】:

  • 所以,如果我理解正确,您正在尝试编写一个将float 限制为小数点后两位的函数?它是否意味着以某种方式四舍五入,所以 123.456 将是 123.45 或 123.46?
  • 浮点数不是十进制数,也没有定义小数位数的概念。对于5/2 的情况,2.5000002.50 都表示相同的浮点数,只是它们的文本表示不同。
  • 那么文本表示是否有可能得到 2.50 而不是 2.500000?
  • 如果是std::cout,则为std::setprecision。但正如你所说,这不是你要找的,不清楚你实际拥有/想要做什么。

标签: c++ floating-point precision integer-division


【解决方案1】:

如果您不想使用某些小数位,那么使用ceil()floor()round() 怎么样?

【讨论】:

  • 问题是我实际上应该对这些函数进行编程,这就是我在 stackoverflow 上问这个问题的原因
  • @Code4life 那么你应该首先提到这一点,并展示你到目前为止所做的尝试并解释你的问题是什么。请edit您的问题。
  • 上个月有一个关于浮点的问题。我会尝试找到链接。
  • 我计算了5/2,结果是2.50000。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
  • 2018-03-04
  • 2023-01-08
  • 1970-01-01
  • 2013-01-18
相关资源
最近更新 更多