无法获得小数后的2个值,但得到零

时间:2016-05-04 08:06:27

标签: android double decimalformat

嗨朋友我想在小数点后得到两个值,但在我的小数点后我得到0。这是我的代码。

  if (!ed.getText().toString().equals("")) {
                        if (rb1.isChecked()) {
                            int input = Integer.valueOf(ed.getText().toString());
                            double out = input / 24;
                            out = (double)Math.round(out * 100)/100;
                            Intent m = new Intent(Page.this,MActivity.class);
                            m.putDoubleExtra("res", out);
                            startActivity(m);

我也引用了这些网站:Android : How to get just two digit after the point in decimal value ? dont want to trunc the value

Java : how do I get the part after the decimal point?

我也尝试了下面的代码,但是在小数点后得到0。

DecimalFormat newFormat = new DecimalFormat("#.##");
double twoDecimal =  Double.valueOf(newFormat.format(d))

请帮我新编码。提前谢谢。

2 个答案:

答案 0 :(得分:1)

由于input24是整数,因此在划分时,它仍然会生成int。只有这样才能转换为双倍。

解决此问题的一种方法:double out = input / 24.0;

答案 1 :(得分:0)

DecimalFormat newFormat = new DecimalFormat(“#。00”); double twoDecimal = Double.valueOf(newFormat.format(d))

在我找到的代码中

out =(double)Math.round(out * 100.0)/100.0;