0.1 + 0.2 = ?
Компилирайте и изпълнете следната програма на Java:
public class SimpleCalc{
public static void main(String[] args){
if(0.1 + 0.2 == 0.3){
System.out.println("Това очаквахме");
}
else{
System.out.println("Какво?!?");
}
}
}
Защо в конзолата се изписа “Какво?!?”? Нима наистина 0.1+0.2 не е равно на 0.3?
Този класически пример, който е валиден не само в Java, а вероятно във всички езици за програмиране, е задължителен при изучаването на типовете данни и по-конкретно числата с плаваща запетая. Важно е да бъде дадена ясна представа какво точно се използва, преди да се използва – в противен случай може да се създадат погрешни навици от самото начало, които трудно се изкореняват впоследствие.
No comments yet