Ich tippe da eher auf die typischen Rundungsfehler von Fließkommazahlen.
Diese treten in jeder Programmiersprache auf, die Fließkommazahlen benutzen.
(versucht google). Man sollte das verstanden haben.
Möglicher Workaround besteht darin, dass du @Round statt Integer verwendest.
Gruß an Jens und Wolfgang Flamme.
Btw:
Dieses kleine Javaprogramm liefert auch einen ungenauen Wert:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(0.3 / 0.1);
// TODO Auto-generated method stub
}
}
nämlich -> 2.9999999999999996
Nicht das Java immer Recht hätte, aber das hat was mit der spezifischen Implementierung von Fließkommazahlen in der jeweiligen Sprache zu tun. Ungenauhigkeiten ab einen gewissen Punkt sind zwangsläufig.