নিম্নলিখিত প্রোগ্রামে আপনি দেখতে পাচ্ছেন যে প্রতিটি মান .5
বাদে গোল করে দেওয়া থেকে কিছুটা কম 0.5
।
for (int i = 10; i >= 0; i--) {
long l = Double.doubleToLongBits(i + 0.5);
double x;
do {
x = Double.longBitsToDouble(l);
System.out.println(x + " rounded is " + Math.round(x));
l--;
} while (Math.round(x) > i);
}
কপি করে প্রিন্ট
10.5 rounded is 11
10.499999999999998 rounded is 10
9.5 rounded is 10
9.499999999999998 rounded is 9
8.5 rounded is 9
8.499999999999998 rounded is 8
7.5 rounded is 8
7.499999999999999 rounded is 7
6.5 rounded is 7
6.499999999999999 rounded is 6
5.5 rounded is 6
5.499999999999999 rounded is 5
4.5 rounded is 5
4.499999999999999 rounded is 4
3.5 rounded is 4
3.4999999999999996 rounded is 3
2.5 rounded is 3
2.4999999999999996 rounded is 2
1.5 rounded is 2
1.4999999999999998 rounded is 1
0.5 rounded is 1
0.49999999999999994 rounded is 1
0.4999999999999999 rounded is 0
আমি জাভা 6 আপডেট 31 ব্যবহার করছি।
0.5
করে যা সংখ্যায় যোগ করে এবং তারপরে ব্যবহার করে যথাযথতার আরও ক্ষতি হতে পারে floor
; জাভা 7 আর সেভাবে এটি নথিভুক্ত করে না (সম্ভবত / আশা করা যায় যে তারা এটি স্থির করেছেন)।