C++Builder精确度问题,不知道是系统的原因还是Borland的 ( 积分: 50 )

  • 主题发起人 主题发起人 redsea317
  • 开始时间 开始时间
R

redsea317

Unregistered / Unconfirmed
GUEST, unregistred user!
好搞笑的一个问题:我用0.051-0.05,结果竟然不是0.001,而是0.000999999999999(一大堆,搞不清几个了)4,我的神,这是用double类型的结果,要是用float,结果更不准确!
我只是想要小数点后6位的精度啊,竟然都无法准确实现,这对以后的算法是有影响的啊,真不知道这是系统问题还是Borland的问题!
问题测试的页面很简单,就是一个button,点击后Label的Caption=0.051-0.05,结果就是那一大堆的数字了,难道我就不能得到个0.001么?
请教各位大侠,看看这是什么问题?另外,我应该如何解决呢?
 
自己规定显示精度。
 
请问如何实现呢?可以说的具体一些吗?

另外,如果规定精度,会不会得到0.0099这样的结果,要是这样可就麻烦了!
 
sprintf("%03f",0.051-0.05)
 
很搞笑的是你,而不是borland
去复习一下float数据类型
 
folat数据类型只是位数更多而已吧?没有说0.001要写成0.0009999999999999999999994啊~
呵呵,查查就查查,让我找找看,不过还是觉得不太舒服,和想像的不太一样
 

Similar threads

后退
顶部