2016-05-04 5 views
0

こんにちはお友達10進数の後に2つの値を取得したいのですが、私は10進数の後に0を返します。これは私のコードです。小数点以下2桁まで取得できませんが、ゼロになる

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を得ます。

コーディングを新しくしてください。前もって感謝します。

+0

dの値は? –

答えて

0

てDecimalFormatてnewformat =新しいてDecimalFormat( "#00"); ダブルtwoDecimal =は、Double.valueOf(newFormat.format(D))私が見つけたあなたのコードで

アウト=(ダブル)恐らくMath.round(アウト* 100.0)/100.0です。

+0

結果が0になった – sun

+0

ありがとうございました@naitik – sun

+0

Double input = Double.ValueOf(edittext) – Naitik

1

input24は整数なので、除算するとそれはまだintです。それだけが二重に変換されます。この解決する

一つの方法:double out = input/24.0;

関連する問題