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

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

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


  
  1. package com.softsec.util;
  2. /**
  3. * Created with IDEA
  4. *
  5. * @Author Chenhh
  6. * @Date 2019/12/11 10:47
  7. * @Description 格式化工具类
  8. * @Version 1.0
  9. */
  10. public class ChhUtil {
  11. /**
  12. * 将每三个数字(或字符)加上逗号处理(通常使用金额方面的编辑)
  13. * 5000000.00 --> 5,000,000.00
  14. * 20000000 --> 20,000,000
  15. * @param str 无逗号的数字
  16. * @return 加上逗号的数字
  17. */
  18. public static String strAddComma(String str) {
  19. if (str == null) {
  20. str = "";
  21. }
  22. String addCommaStr = ""; // 需要添加逗号的字符串(整数)
  23. String tmpCommaStr = ""; // 小数,等逗号添加完后,最后在末尾补上
  24. if (str.contains(".")) {
  25. addCommaStr = str.substring(0,str.indexOf("."));
  26. tmpCommaStr = str.substring(str.indexOf("."),str.length());
  27. }else{
  28. addCommaStr = str;
  29. }
  30. // 将传进数字反转
  31. String reverseStr = new StringBuilder(addCommaStr).reverse().toString();
  32. String strTemp = "";
  33. for (int i = 0; i < reverseStr.length(); i++) {
  34. if (i * 3 + 3 > reverseStr.length()) {
  35. strTemp += reverseStr.substring(i * 3, reverseStr.length());
  36. break;
  37. }
  38. strTemp += reverseStr.substring(i * 3, i * 3 + 3) + ",";
  39. }
  40. // 将 "5,000,000," 中最后一个","去除
  41. if (strTemp.endsWith(",")) {
  42. strTemp = strTemp.substring(0, strTemp.length() - 1);
  43. }
  44. // 将数字重新反转,并将小数拼接到末尾
  45. String resultStr = new StringBuilder(strTemp).reverse().toString() + tmpCommaStr;
  46. return resultStr;
  47. }
  48. /**
  49. * 将加上逗号处理的数字(字符)的逗号去掉 (通常使用金额方面的编辑)
  50. * 5,000,000.00 --> 5000000.00
  51. * 20,000,000 --> 20000000
  52. * @param str 加上逗号的数字(字符)
  53. * @return 无逗号的数字(字符)
  54. */
  55. public static String strRemoveComma(String str) {
  56. if (str == null) {
  57. str = "";
  58. }
  59. String resultStr = str.replaceAll(",",""); // 需要去除逗号的字符串(整数)
  60. return resultStr;
  61. }
  62. public static void main(String[] args){
  63. String result = strAddComma("5000000.00"); //格式化加逗号
  64. // String result = strRemoveComma("456,415,132.22"); //去除逗号
  65. System.out.println(result);
  66. }
  67. }

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

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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