2015-06-02 21 views
5

Sto risolvendo un problema con la funzione math.pow quando la risposta appare sul campo di testo con qualsiasi valore di inserimento come 10.Si apparirà in virgole.Uso una libreria di formato decimale ma niente happen.Is c'è un modo diverso di fare that.I vuole rispondere in questo modo Codice
Java: doppio formato Datatype Decimal numero di virgola

10000000000 
Not 
10,000,000,000 

:

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); 


    } 
} 

principale

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

Prova a scavare nella java.text.DecimalFormat con adeguate Locale. – sakthisundar

risposta

2
d.setGroupingUsed(false); 

risolverà il problema.

0

Spero che questo sarebbe di qualche aiuto

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)); 
     } 
}