2016-03-04 2 views
1
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
     int num = (Integer)this.jSpinner1.getValue(); 
     int d = (Integer)this.jSpinner2.getValue(); 
     int val = (num/d); 
     jTextField1.setText(String.valueOf(val)); 
    }           

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {           
    int num = (Integer)this.jSpinner1.getValue(); 

    int d = (Integer)this.jSpinner2.getValue(); 

    int val1 = (int) ((double)num/(double)d); 
    jTextField2.setText(String.valueOf(val1)); 
    } 

Я создаю программу, которая использует числитель и знаменатель, использует кнопки для отображения целочисленного и двойного значения. Программа работает, но она не показывает десятичные числа. Обычно он подходит к ближайшему целому числу. В основном мне нужна помощь в получении десятичных знаков для вывода на выходе. http://imgur.com/WdnxgrHПрограмма не разрешает десятичный выход

+0

Вы бросаете val1 к ИНТ, так что вы потеряете десятичные. –

ответ

4

Вы явно заявляете свою выходную переменную как int.

Верните значение double, или для лучшей точности, BigDecimal.

Пример

BigDecimal output = new BigDecimal(num) 
    .divide(new BigDecimal(d), BigDecimal.ROUND_HALF_UP); 
Смежные вопросы