(最简单)Java 格式化数字每3位加逗号分隔(自己封装好的工具类,直接可用)

滴滴滴,快上车,都在备注里了~~~

package com.softsec.util;

/**
 * Created with IDEA
 *
 * @Author Chenhh
 * @Date 2019/12/11 10:47
 * @Description 格式化工具类
 * @Version 1.0
 */
public class ChhUtil {

	/**
	 * 将每三个数字(或字符)加上逗号处理(通常使用金额方面的编辑)
	 * 5000000.00 --> 5,000,000.00
	 * 20000000 --> 20,000,000
	 * @param str  无逗号的数字
	 * @return 加上逗号的数字
	 */
	public static String strAddComma(String str) {
		if (str == null) {
			str = "";
		}
		String addCommaStr = ""; // 需要添加逗号的字符串(整数)
		String tmpCommaStr = ""; // 小数,等逗号添加完后,最后在末尾补上
		if (str.contains(".")) {
			addCommaStr = str.substring(0,str.indexOf("."));
			tmpCommaStr = str.substring(str.indexOf("."),str.length());
		}else{
			addCommaStr = str;
		}
		// 将传进数字反转
		String reverseStr = new StringBuilder(addCommaStr).reverse().toString();
		String strTemp = "";
		for (int i = 0; i < reverseStr.length(); i++) {
			if (i * 3 + 3 > reverseStr.length()) {
				strTemp += reverseStr.substring(i * 3, reverseStr.length());
				break;
			}
			strTemp += reverseStr.substring(i * 3, i * 3 + 3) + ",";
		}
		// 将 "5,000,000," 中最后一个","去除
		if (strTemp.endsWith(",")) {
			strTemp = strTemp.substring(0, strTemp.length() - 1);
		}
		// 将数字重新反转,并将小数拼接到末尾
		String resultStr = new StringBuilder(strTemp).reverse().toString() + tmpCommaStr;
		return resultStr;
	}

	/**
	 * 将加上逗号处理的数字(字符)的逗号去掉 (通常使用金额方面的编辑)
	 * 5,000,000.00 --> 5000000.00
	 * 20,000,000 --> 20000000
	 * @param str  加上逗号的数字(字符)
	 * @return 无逗号的数字(字符)
	 */
	public static String strRemoveComma(String str) {
		if (str == null) {
			str = "";
		}
		String resultStr = str.replaceAll(",",""); // 需要去除逗号的字符串(整数)

		return resultStr;
	}

	public static void main(String[] args){
		String result = strAddComma("5000000.00");  //格式化加逗号
		// String result = strRemoveComma("456,415,132.22"); //去除逗号
		System.out.println(result);
	}
}

如果觉得这个工具类值得收藏的兄弟,帮老弟点个赞

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_陈哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值