2015-06-02 15 views
5

Rozwiązuję problem z funkcją math.pow, gdy odpowiedź pojawia się w polu tekstowym z dowolną wartością wpisu, na przykład 10. Zostanie wyświetlona w przecinkach. Używam biblioteki formatu dziesiętnego ale nic happen.Is istnieje inny sposób to zrobić that.I chcą odpowiedzieć jak ten
Java: Podwójny typ danych Komunikat o przecinkach w formacie dziesiętnym

10000000000 
Not 
10,000,000,000 

Kod:

public class Gra extends JFrame{ 
    private JTextField textField; 
    private JTextField textField_1; 

    DecimalFormat d = new DecimalFormat(""); 
    public Gra(){ 
     super("Frame"); 
     getContentPane().setLayout(null); 

     textField = new JTextField(); 
     textField.setBounds(163, 206, 122, 28); 
     getContentPane().add(textField); 
     textField.setColumns(10); 

     textField_1 = new JTextField(); 
     textField_1.setBounds(163, 106, 122, 28); 
     getContentPane().add(textField_1); 
     textField_1.setColumns(10); 

     JLabel lblEnterValue = new JLabel("Enter Value"); 
     lblEnterValue.setBounds(183, 89, 69, 16); 
     getContentPane().add(lblEnterValue); 

     JLabel lblAnswer = new JLabel("Answer"); 
     lblAnswer.setBounds(195, 187, 55, 16); 
     getContentPane().add(lblAnswer); 

     JButton btnClick = new JButton("Click"); 
     btnClick.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent arg0) { 

       double num,ans; 
      String w= textField_1.getText(); 
      num = Double.parseDouble(w); 
      ans=Math.pow(num, 10); 
      textField.setText(""+d.format(ans)); 


      } 
     }); 
     btnClick.setBounds(183, 249, 90, 28); 
     getContentPane().add(btnClick); 


    } 
} 

głównego

public class Main { 

    public static void main(String[] args) { 
     Gra obj=new Gra(); 
     obj.setSize(450, 400); 
     obj.setResizable(false); 

     obj.setDefaultCloseOperation(obj.EXIT_ON_CLOSE); 
     obj.setLocationRelativeTo(null); 
     obj.setVisible(true); 
    } 

} 
+0

Przymierz wbijały java.text.DecimalFormat z odpowiednim Locale. – sakthisundar

Odpowiedz

2
d.setGroupingUsed(false); 

rozwiąże problem.

0

Nadzieja to byłoby pomocne

import java.text.*; 
class Test { 
     public static void main(String... args) { 
       String p = "10000000000"; 
       Double amount = Double.parseDouble(p); 
       DecimalFormat df = new DecimalFormat("##,###,###,###"); 
       System.out.println(df.format(amount)); 
     } 
} 
Powiązane problemy