【发布时间】:2014-03-27 15:02:32
【问题描述】:
我的 JSON 中有这个:
{"idAlunoGraduacao":001,"semestre":2,"ano":2010,"frequencia":100,"notaFinal":6,"conceito":"Aprovado","idTurma":"Biofisica"},
{"idAlunoGraduacao":002,"semestre":2,"ano":2010,"frequencia":88,"notaFinal":9.2,"conceito":"Aprovado","idTurma":"Diversidade sexual"}
在我的 .h 文件中,我有这个循环:
for (NSDictionary *dados in results)
NSLog(@"%@",[dados objectForKey:@"notaFinal"]);
第一个“notaFinal”是 6 并且打印正常,但是当打印第二个时结果是:9.199999999999999
为什么?
【问题讨论】:
-
这不是 JSON。 JSON 不会有两个
{}括起来的字符串,中间有一个逗号,它们之外没有任何内容。 -
至于你明显的问题,搜索“浮点不准确”。
-
您可以考虑在显示/输出上格式化浮点数以避免这种情况;例如
NSLog(@"Value: %.2f", [dados objectForKey:@"notaFinal"]); -
使用 NSObject 模型类来解析这个字典
标签: ios objective-c json nsdictionary floating-accuracy