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