重複の可能性:
フローティングタイプを文字列にうまくフォーマットする方法は?
私は番号を持っています:
Double d1=(Double)0;
Double d2=(Double)2.2;
Double d3=(Double)4;
Stringを使用すると、0.0、2.2、4.0が表示されますが、0、2.2、4が表示されます。どうすればよいですか。
重複の可能性:
フローティングタイプを文字列にうまくフォーマットする方法は?
私は番号を持っています:
Double d1=(Double)0;
Double d2=(Double)2.2;
Double d3=(Double)4;
Stringを使用すると、0.0、2.2、4.0が表示されますが、0、2.2、4が表示されます。どうすればよいですか。
DecimalFormat.format
の代わりに使用Double.toString
:
Double d1 = (Double)0.0;
Double d2 = (Double)2.2;
Double d3 = (Double)4.0;
// Example: Use four decimal places, but only if required
NumberFormat nf = new DecimalFormat("#.####");
String s1 = nf.format(d1); // 0
String s2 = nf.format(d2); // 2.2
String s3 = nf.format(d3); // 4
そのためにsは必要ありませんDouble
、double
sは問題なく動作します。
まず、String.valueof(YOUR_VARIABLE)を使用してDoubleをStringに変換します
次に、以下の関数を使用して実行します。
private String getyourNumber(String NUMBER) {
if(!NUMBER.contains(".")) {
return NUMBER;
}
return NUMBER.replaceAll(".?0*$", "");
}
次に、
文字列を2倍にし
Double.parseDouble(YOUR_RETURNED_STRING)
ます。