2014-12-16 2 views
0

Я пишу программу для своего класса информатики, и у меня возникла проблема с уравнением. Только когда я начал разворачивать код, я понял, что все мои двойники округлены. Например:Базовая математика всегда округляется в Java

public static void test(){ 
    double var = 4/3; 
    System.out.println(var); 
} 

Это напечатает «1.0» на консоли. Я прокомментировал все остальное в своем коде, кроме основного метода, который вызывает это только. Пожалуйста, помогите

ответ

2

Выполнение целочисленного деления на Java, которое должно всегда приводить к другому int, даже если оно впоследствии назначено на double.

Заставить деление с плавающей точкой, используйте double литералов:

double var = 4.0/3.0; 

один только должен иметь .0 на нем. Или, вы можете бросить одну из них в double к тому же эффекту:

double var = (double) 4/3; 

Другой вариант: Поместите d суффикс на одной или обеих литералов:

double var = 4d/3d; 
+0

Спасибо! Это устранило мою проблему. – SamH

Смежные вопросы