【问题标题】:float with 3 digits after the point precision [duplicate]在点精度后以 3 位数浮动 [重复]
【发布时间】:2014-11-12 09:26:05
【问题描述】:

我怎样才能在 c 中计算这个? :

float x = 5;
float y = 4.999

float z = x-y; // 0.001000

现在我希望 z 在该点之后正好 3 位数,这样 z 将 = 0.001。
我不需要打印z,我只需要用0.001初始化它。

【问题讨论】:

  • @dandan78 我以前看到过,它只是关于打印..
  • @user3729959 请阅读链接问题的答案。它们不是关于打印,而是关于浮点类型的值表示。
  • 除非您使用十进制浮点类型,否则无法做到这一点

标签: c floating-point


【解决方案1】:

使用整数数据类型并将所有数字转换为 1000 的倍数

int x = 5000
int y = 4999

int z = x-y // 1

【讨论】:

    猜你喜欢
    • 2016-07-14
    • 2018-10-21
    • 2021-09-16
    • 2011-02-23
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多