我简单的 RubyMotion 代码:
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
.
- 谁能证实这一点?
- 有一个通用的解决方案吗?
我不想强制对所有浮点数进行舍入。