代码
/**
* 将一个数字处理为以万为单位的字符串,保留两位小数
*
* @param number 需要格式化的数字
* @return 格式化后的字符串
*/
public static String getTenThousandOfANumber(int number) {
if (number < 10000) {
return String.valueOf(number);
}
String numStr = new DecimalFormat("#.00").format(number / 10000d);
String[] ss = numStr.split("\\.");
if ("00".equals(ss[1])) {
return ss[0] + "万";
} else if ('0' == (ss[1].charAt(1))) {
return ss[0] + "." + ss[1].charAt(0) + "万";
} else {
return numStr + "万";
}
}
测试用例
import java.text.DecimalFormat;
/**
* @author Xi Yawei
*/
public class Test {
public static void main(String[] args) {
int a = 9999;
int b = 10000;
int c = 10001;
int d = 11000;
int e = 11100;
int f = 100000;
System.out.println(getTenThousandOfANumber(a));
System.out.println(getTenThousandOfANumber(b));
System.out.println(getTenThousandOfANumber(c));
System.out.println(getTenThousandOfANumber(d));
System.out.println(getTenThousandOfANumber(e));
System.out.println(getTenThousandOfANumber(f));
}
/**
* 将一个数字处理为以万为单位的字符串,保留两位小数
*
* @param number 需要格式化的数字
* @return 格式化后的字符串
*/
public static String getTenThousandOfANumber(int number) {
if (number < 10000) {
return String.valueOf(number);
}
String numStr = new DecimalFormat("#.00").format(number / 10000d);
String[] ss = numStr.split("\\.");
if ("00".equals(ss[1])) {
return ss[0] + "万";
} else if ('0' == (ss[1].charAt(1))) {
return ss[0] + "." + ss[1].charAt(0) + "万";
} else {
return numStr + "万";
}
}
}
测试结果
9999
1万
1万
1.1万
1.11万
10万