JAVA中实现double型数字丛右至左每三位用逗号隔开

实现按式化输出如:441,777.28的数字!

public void displayWithComma(String str) {
    StringBuilder sb = new StringBuilder();
    int index = str.lastIndexOf(".");
    String str1 = str.substring(0, index);// 取出小数点前面的字符串
    String str2 = str.substring(index);// 存放小数点后面的内容
    str1 = new StringBuilder(str1).reverse().toString();// 将字符串颠倒过来
    int size = (str1.length() % 3 == 0) ? (str1.length() / 3) : (str1
            .length() / 3 + 1);// 将字符串每三位分隔开
    for (int i = 0; i < size - 1; i++) {
        sb.append(str1.substring(i * 3, i * 3 + 3) + ",");
    }// 前n-1段都用逗号连接上
    str1 = sb.toString() + str1.substring((size - 1) * 3);//将前n-1段和第n段连接在一起
    str1 = new StringBuilder(str1).reverse().toString();
    System.out.println(str1 + str2);//连接上原来小数点后面的数

}

猜你喜欢

转载自blog.csdn.net/feifeixuanxuan_java/article/details/46000019