実行時に数値を小数点以下2桁に変換します(常に小数点以下2桁を表示します)。私はいくつかのコードを試しましたが、以下に示すように、それだけです
20.03034 >> 20.03
20.3 >> 20.3 ( my code only rounds not converts )
しかし、私はそれをこれがしたいです:
20.03034 >> 20.03
20.3 >> 20.30 (convert it to two decimal places)
以下の私のコード:
angle = a variable
angle_screen = a variable
DecimalFormat df = new DecimalFormat("#.##");
angle = Double.valueOf(df.format(angle));
angle_screen.setText(String.valueOf(angle) + tmp);
これを行う方法についての助けは素晴らしいでしょう、ありがとう。
これを試してくださいnew DecimalFormat("#.00");
更新:
_ double angle = 20.3034;
DecimalFormat df = new DecimalFormat("#.00");
String angleFormated = df.format(angle);
System.out.println(angleFormated); //output 20.30
_
コードでdecimalformatが正しく使用されていませんでした
パターンの0は必須の数字を意味し、#はオプションの数字を意味します。
更新2:以下の回答を確認してください
_0.2677
_を_0.27
_としてフォーマットする場合は、new DecimalFormat("0.00");
を使用する必要があります。そうでない場合は_.27
_になります
DecimalFormat df=new DecimalFormat("0.00");
このコードを使用して、正確に2つの小数点を取得します。値が0.0であっても、出力としてu 0.00になります。
代わりに使用する場合:
DecimalFormat df=new DecimalFormat("#.00");
0.2659を0.27に変換しません。 。27のような答えが得られます。
これを試してください:String.format("%.2f", angle);
試して
DecimalFormat df = new DecimalFormat("#,##0.00");