public final class NumberUtil {
private NumberUtil() {
}
/**
* <p>
* 使用 {@link NumberFormat} 的 getCurrencyInstance()
* 货币的格式化 格式[¥123,456,789.00]
*/
public static String formatCurrency(Object obj) {
if (obj == null) {
return "";
}
// format方法不能识别字符串类型
if (obj instanceof String) {
obj = new BigDecimal(String.valueOf(obj));
}
NumberFormat currencyInstance = NumberFormat.getCurrencyInstance(Locale.CHINA);
return currencyInstance.format(obj);
}
/**
* <p>
* 使用 {@link DecimalFormat} 的 pattern
* 货币的格式化 格式[123,456,789.00]
*/
public static String formatCurrency01(Object obj) {
if (obj == null) {
return "";
}
// format方法不能识别字符串类型
if (obj instanceof String) {
obj = new BigDecimal(String.valueOf(obj));
}
NumberFormat currencyInstance = new DecimalFormat("¥,##0.00");
return currencyInstance.format(obj);
}
public static void main(String[] args) {
System.out.println(formatCurrency(null)); // 测试null
System.out.println(formatCurrency(0)); // 测试0
System.out.println(formatCurrency(123456789)); // 测试整数
System.out.println(formatCurrency(123456789.123456789)); // 测试小数
System.out.println(formatCurrency("123456789.123456789")); // 测试String
System.out.println(formatCurrency01(null)); // 测试null
System.out.println(formatCurrency01(0)); // 测试0
System.out.println(formatCurrency01(123456789)); // 测试整数
System.out.println(formatCurrency01(123456789.123456789)); // 测试小数
System.out.println(formatCurrency01("123456789.123456789")); // 测试String
}
}
java 货币格式化 精确俩位小数
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 出处:https://blog.csdn.net/pz0605/article/details/50478706[...
- 题目 每个数字都应格式化为四舍五入到小数点后两位。您无需检查输入是否为有效数字,因为测试中仅使用有效数字。 测试用...
- 我只是一个辛勤的搬运工。原文在这里 对这个fmodf() c函数很好奇,到底表示什么意思呢。发扬一下刨根问底的精神...
- 仰天地之正气,法古今之完人。 ——同济大学老校训 昨天做OJ遇到一题要求把结果保留两位小数输出。惊觉自己完全没有掌...
- 需求 如题的需求,再详细解释一下就是:1.如果有两位小数不为0则保留两位小数,eg: "0.23"2.如果有一位小...