为什么python用float提供错误的计算

发布于 2021-01-29 14:56:27

x = '16473.6'
y = str(int(float(x) * 1000))
print(y)

>>>16473599

好吧…显然我做错了…我知道这些浮动的东西有时在C#中有点困难…但是我认为* 1000应该可以工作…好吧

有人可以告诉我如何做得更好吗?

非常感谢你

关注者
0
被浏览
108
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    浮点数始终是计算的问题,因为它基于数字的二进制近似值。

    您可以检查 浮点算法:问题和局限性

    您可以尝试使用 Decimal

    x = '16473.6'
    y = str(int(Decimal(x) * 1000))
    print(y)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看