I have this in my 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"}

In my .h file I have this loop:

for (NSDictionary *dados in results)
    NSLog(@"%@",[dados objectForKey:@"notaFinal"]);

The first "notaFinal" is 6 and print ok but when print the second one the result is: 9.199999999999999

Why?

有帮助吗?

解决方案

Your JSON is not a JSON, next code is a JSON:

[ { "idAlunoGraduacao": 1, "semestre": 2, "ano": 2010, "frequencia": 100, "notaFinal": 6, "conceito": "Aprovado", "idTurma": "Biofisica" }, { "idAlunoGraduacao": 2, "semestre": 2, "ano": 2010, "frequencia": 88, "notaFinal": 9.2, "conceito": "Aprovado", "idTurma": "Diversidade sexual" } ]

Also, your JSON is very similar to a Literal NSDictionary.

@{@"idAlunoGraduacao":@001,@"semestre":@2,@"ano":@2010,@"frequencia":@100,@"notaFinal":@6,@"conceito":@"Aprovado",@"idTurma":@"Biofisica"};

Then, you says: "In my .h file I have this loop:", I'm pretty sure you have the loop in your .m

In Objective-C is a Best Practice to use curly brackets in for loops and if-else:

for (NSDictionary *dados in results)
{
    NSLog(@"%@",[dados objectForKey:@"notaFinal"]);
}

Finally, as says @Koray_Alkan, you can use

NSLog(@"Value: %.2f", [[dados objectForKey:@"notaFinal"] floatValue]);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top