2013-12-10 3 views
0
public class SimpleTrig { 
    public static void main(String[] args) { 

     DecimalFormat dx; 
     dx = new DecimalFormat("0.000"); 

     String angleStr; 
     double angle, angleCosine; 

     angleStr = JOptionPane.showInputDialog(null,"Enter an angle (in degrees)"); 
     angle = Double.parseDouble(angleStr); 
     angleCosine = Math.cos(Math.toRadians(angle)); 

     JOptionPane.showMessageDialog(null, "The cosine of " + angle 
             + " degrees is " + dx.format(angleCosine)); 
    } 
} 

Выходной сигнал angleCosine дает мне выход 0.000 в качестве моего окончательного ответа независимо от любого вводимого угла.Не удается отформатировать мои цифры до 3 десятичных знаков (.000)

+0

Я просто запустил всю вещь, и в результате я не получаю 0.000, я получаю разные результаты в зависимости от ввода. – DanielBarbarian

+0

какой угол вы пытаетесь? я пробовал ваш код с 60degrees, и я получил 0,500 в качестве вывода – user902383

ответ

0

Использование new DecimalFormat("#.###")

+0

рассмотреть вопрос о принятии ответа, нажав «отметить» рядом с вашим предпочтительным ответом – Sionnach733

0

Изменить

dx = new DecimalFormat("0.000"); 

в

dx = new DecimalFormat("#0.000"); 

Или

dx = new DecimalFormat("#.###"); 
0

Вы можете использовать что-то вроде

DecimalFormat df2 = new DecimalFormat("#0.00"); 
0

попытка изменить формат

DecimalFormat dx = new DecimalFormat("#.000"); 
0

Кажется, работает хорошо, когда я запускаю его, введите 45, получают 0,707. используя java 1.6.0_30

Придется добавить окончательную закрытие и определение пакета, чтобы запустить его.

0

попробуйте использовать

DecimalFormat dx = new DecimalFormat("##,##0.000"); 

или Проверить значение angleCosine является правильным.

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