场景:我有一个UISlider
,它允许0到100之间的值。此滑块将返回一个float
,如76.2345654234。在核心数据中,我希望将这个百分比以这种格式存储为双倍: 0.76。
问题:在浮点数上使用floor()
或round()
会给我带来76。好的。但如果我除以现在的100,会出现令人讨厌的尾随小数。有时某些数字会起作用,给我2位小数点,但没有错误,每次,另一个数字不会,我会得到这样的结果: 0.760000001。
没有解决方案,我在这个网站上看到或其他工作100%的时间。一定有办法解决这么简单的事情吧?谢谢!!
发布于 2019-12-03 19:52:11
你说过你想储存一个号码:
双倍
和
以这种格式: 0.76
你不能两手空空,你得挑一个。双数不是小数,它不能准确地存储大多数十进制数。见这个问题:
如果您需要准确地存储十进制数,请使用与Double不同的类型:例如,decimal类型)。如果由于某种原因,你必须将你的数字存储为一个双,那么你将不得不忍受没有准确地存储十进制数。
旁注:在打印时,有一些方法可以将不精确的双值返回到附近的小数,但这是一个不同的主题,而不是你问的问题。
https://stackoverflow.com/questions/59163485
复制相似问题