安卓开发中数字分隔处理工具类

本文介绍在安卓开发中如何处理大数字,提供了一个实现数字分隔的工具类,例如将大数字100000000000显示为100,000,000,000。代码适用于Java环境,推荐使用StringBuffer代替StringBuilder以确保线程安全。" 39339775,1252585,Java JSSE访问HTTPS无信任证书详解及DEMO,"['HTTPS编程', 'Java安全', '证书管理', 'JSSE实现', 'SSL/TLS']

在开发中面对一些大数字,也许需要加分隔处理。例如:100,000,000,000。下面提供处理此问题的工具类,代码如下:

import android.text.TextUtils;

/**
 * Created by wishes on 2018/5/29.
 */

public class DealNum {


    /** 数字加分隔
    * @param numStr:字符串格式的数字
    * @param divider:分隔的字符
    * @param num:分隔的位数
    * */
    public static String addDivider(String numStr,String divider,int num){

        if(TextUtils.isEmpty(numStr)){
            return null;
        }
        String[] strs = null;
        StringBuilder sb1;
        if(numStr.contains(".")) {
            strs = numStr.split("\\.");
            sb1 = new StringBuilder(strs[0]);
        }else {
            sb1 = new StringBuilder(numStr);
        }

        StringBuilder sb2 = new StringBuilder();
        StringBuilder temp = new StringBuilder();

        for(int i = 0;i<sb1.length();i=0){

            if(sb1.length()>num){
                temp.append(divider);
                temp.append(sb1.substring(sb1.length()-num,sb1.length()));
                sb2.insert(0,temp);
                sb1.delete(sb1.length()-num,sb1.length());
            }else{
                sb2.insert(0,sb1);
                break;
            }
            temp.delete(0,temp.length());

        }

        if(strs!=null){
            return sb2.append("."+strs[1]).toString();
        }else{
            return sb2.toString();
        }

    }

    /** 数字去分隔
     * @param numStr:字符串格式的数字
     * @param divider:分隔的字符
     * */
    public static String delDivider(String numStr,String divider) {
        if(TextUtils.isEmpty(numStr)){
            return null;
        }
        numStr = numStr.replaceAll(divider,"");
        return numStr;
    }
}

java中使用的话,则把判断非空的代码替换成java的即可,同时建议将StringBuilder换成StringBuffer。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值