如何以最小的精度在格式化字符串中打印双值?例如:
double v = 2.02;
String.format("%f", v);
默认%f
格式始终打印6 digits after point => “2.020000”。我需要的是
42.0 => "42"
2.02 => "2.02"
0.3333333333333333 => "0.3333333333333333"
我能得到的最好成绩是String.valueOf(v)
String.format("%s", String.valueOf(v));
通过除“42”以外的所有测试。关于简单方法进行所有三项测试的任何想法?
答案 0 :(得分:0)
正如Yassin指出的那样,自定义格式有一种ggod方式:
public static String fmt(double d)
{
if(d == (long) d)
return String.format("%d",(long)d);
else
return String.format("%s",d);
}