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

举报
_陈哈哈 发表于 2022/01/21 23:33:27 2022/01/21
1.4k+ 0 0
【摘要】 滴滴滴,快上车,都在备注里了~~~ package com.softsec.util; /** * Created with IDEA * * @Author Chenhh * @Date 2019/12/11 10:47 * @Description 格式化工具类 * @Version 1.0 */public class ChhU...

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


      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);
      	}
      }
  
 

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

文章来源: chensj.blog.csdn.net,作者:_陈哈哈,版权归原作者所有,如需转载,请联系作者。

原文链接:chensj.blog.csdn.net/article/details/103488318

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。