Java:双数据类型十进制格式逗号问题

时间:2015-06-02 07:55:00

标签: java

我解决了math.pow函数的问题,当答案出现在带有任何输入值的文本字段时,例如10.它将出现在逗号中。我使用小数格式库但没有任何事情发生。我在那里这样做的另一种方式。我想要这样的回答

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


    }
}

主要

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

}

2 个答案:

答案 0 :(得分:2)

d.setGroupingUsed(false);

将解决您的问题。

答案 1 :(得分:0)

希望这会有所帮助

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