안드로이드 개발 중 디지털 분리 처리 도구류

개발 과정에서 몇몇 큰 숫자에 직면하면 아마도 분리 처리가 필요할 것이다.예를 들면 10000000000입니다.다음은 이 문제를 다루는 도구 클래스입니다. 코드는 다음과 같습니다.
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;inum){
                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;
    }
}

자바에서 사용하면 비어 있지 않은 판단 코드를 자바로 바꾸면 되며, StringBuilder를 StringBuffer로 바꾸는 것을 권장합니다.

좋은 웹페이지 즐겨찾기