Когда я пытаюсь разобрать следующую строку в число с плавающей точкой и в двойной:Строка плавать/двойной Синтаксический
String abc = "8.40";
System.out.println("Double Value: " + Double.parseDouble(abc) * 100);
System.out.println("Float Value: " + Float.parseFloat(abc) * 100);
Я получаю два разных результата.
Double Value: 840.0 Float Value: 839.99994
Но когда я пытаюсь тот же код с умножением поплавок и дважды на 10 или 1000 я получаю аналогичные результаты для обоих из них.
String abc = "8.40";
System.out.println("Double Value: " + Double.parseDouble(abc) * 10);
System.out.println("Float Value: " + Float.parseFloat(abc) * 10);
Получаю два похожих результата.
Double Value: 84.0 Float Value: 84.0
И когда я пытаюсь это:
String abc = "8.40";
System.out.println("Double Value: " + Double.parseDouble(abc) * 1000);
System.out.println("Float Value: " + Float.parseFloat(abc) * 1000);
я получаю два аналогичных результатов.
Double Value: 8400.0 Float Value: 8400.0
ОК. Какой вопрос? 'Float' имеет меньшую точность, чем' Double'. – Vyacheslav
То же самое происходит при использовании '' 'System.out.println (« Float Value: »+ Float.parseFloat (« 8.40f ») * 100);' ''? – m4mbax