Мой простой код RubyMotion:NSJSONSerialization.JSONObjectWithData float conversion/rounding error?
data = DataParser.parse(url)
error_ptr = Pointer.new(:object)
json = NSJSONSerialization.JSONObjectWithData(data, options: 0, error: error_ptr)
URL-адрес является погода API, который обеспечивает JSON с температурой, как поплавки, как { "temp_c":22.4, ... }
. Странно, что плавающий 22.4
преобразуется в 22.3999938964844
.
Если я проверяю data.to_s
, температура читается 22.4
, поэтому я предполагаю, что ошибка лежит в пределах NSJSONSerialization.JSONObjectWithData
.
- Может кто-нибудь подтвердить это?
- Есть ли общее решение для этого?
Я бы не хотел заставлять округлять все поплавки.