public class String_Format_Test {
@Test
public void String_format(){
//-----------------------------------------------
//$ 被格式化的参数索引
//%s 字符串类型
//控制台输出:1024.00MB
//-----------------------------------------------
String FORMAT_F_UNIT = "%1$-1.2f%2$s";
System.out.println(String.format(FORMAT_F_UNIT, 1024f,"MB"));
//-----------------------------------------------
//控制台输出:1024.00
//-----------------------------------------------
FORMAT_F_UNIT="%1$-1.2f";
System.out.println(String.format(FORMAT_F_UNIT, 1024f));
//-----------------------------------------------
//控制台输出:1024.000000
//-----------------------------------------------
FORMAT_F_UNIT="%1$f";
System.out.println(String.format(FORMAT_F_UNIT, 1024f));
//-----------------------------------------------
//控制台输出:1024.000000
//-----------------------------------------------
FORMAT_F_UNIT="%f";
System.out.println(String.format(FORMAT_F_UNIT, 1024f));
//-----------------------------------------------
//控制台输出:1024.000
//-----------------------------------------------
FORMAT_F_UNIT="%1.3f";
System.out.println(String.format(FORMAT_F_UNIT, 1024f));
//-----------------------------------------------
//控制台输出:102.479
//-----------------------------------------------
FORMAT_F_UNIT="%1.3f";
System.out.println(String.format(FORMAT_F_UNIT, 102.4789f));
long l=Long.MAX_VALUE;
double d=l/1024;
System.out.println(d); //9.007199254740991E15
System.out.println(String.format(FORMAT_F_UNIT, d));//9007199254740991.000
float f=l/1024;
System.out.println(f); //9.0071993E15
System.out.println(String.format(FORMAT_F_UNIT, f));//9007199254740992.000
FORMAT_F_UNIT="%1.2f";
System.out.println(String.format(FORMAT_F_UNIT, d));//9007199254740991.00
System.out.println(String.format(FORMAT_F_UNIT, f));//9007199254740992.00
}
@Test
public void decimal_Format(){
DecimalFormat a = new DecimalFormat("#.00%");
String s = a.format(0.56845);
String h = a.format(0.56855);
System.out.println(s);//56.84%
System.out.println(h);//56.86%
System.out.println(a.format(0.5680));//56.80%
NumberFormat df = new DecimalFormat("#.00");
System.out.println(df.format(8.8445));//8.84
System.out.println(df.format(8.8455));//8.85
}
}