[ ngj @ 29.08.2006. 10:52 ] @
Pozdrav svima, Kada uradim najprostije oduzimanje double vrednosti , vraća mi rezultat: ----------------------------- Vrednosti promenljivih su... i = 37 j = 42 x = 27.475 y = 7.22 Sabiranje... i + j = 79 x + y = 34.695 Oduzimanje... i - j = -5 j - i = 5 x - y = 20.255000000000003 y - x = -20.255000000000003 ----------------------------- Ako postavim da x bude dvocifren, takvih problema nema. Da li bi mogao neko da mi odgovori zašto se to javlja, i kako da to rešim. pozdrav i hvala unapred! Ako sumnjate u kod, evo istog: public class ArithmeticDemo { public static void main(String[] args) { //nekoliko brojeva int i = 37; int j = 42; double x = 27.475; double y = 7.22; System.out.println("Vrednosti promenljivih su..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" x = " + x); System.out.println(" y = " + y); //sabiranje brojeva System.out.println("Sabiranje..."); System.out.println(" i + j = " + (i + j)); System.out.println(" x + y = " + (x + y)); //oduzimanje brojeva System.out.println("Oduzimanje..."); System.out.println(" i - j = " + (i - j)); System.out.println(" j - i = " + (j - i)); System.out.println(" x - y = " + (x - y)); System.out.println(" y - x = " + (y - x)); //Mno`enje brojeva System.out.println("Mnozenje..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); //deljenje brojeva System.out.println("Deljenje..."); System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y)); //Deljenje po modulu System.out.println("Deljenje po modulu..."); System.out.println(" i % j = " + (i % j)); System.out.println(" x % y = " + (x % y)); //mesanje tipova System.out.println("Mesanje tipova..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); } } |