To jest mój kod:możliwość utraty błędu precyzji w java
class test{
public static void main(String arg[]){
int a=10, b=20;
float c = 30.123;
int e = (int)c;
System.out.println(e);
}
}
Dostaję taki błąd:
test.java:6: error: possible loss of precision
float c = 30.123;
^
required: float
found: double
1 error
Dlaczego to wszystko?
+1 W tej chwili jesteś bardzo aktywny na SO :) –
@ Eng.Fouad. :) Po prostu staram się utrzymać mój umysł zajęty, aby nie zardzewiało. ;) –
Powodem podwójnego domyślnego typu literalnego jest to, że podwójne jest bardzo normalnym typem zmiennoprzecinkowym w Javie. Używałbym tylko float, gdybym miał do czynienia z bardzo dużym zbiorem liczb z ograniczoną precyzją i dobrze zachowanym przetwarzaniem. Zmiana typu c na podwójne byłoby lepszym rozwiązaniem. –