首页 > 其他分享 >BigDecimal三位分节法

BigDecimal三位分节法

时间:2022-11-15 13:11:31浏览次数:67  
标签:BigDecimal format StringBuilder 分节 三位 new null bigDecimal

参考:https://www.cnblogs.com/XT-xutao/p/9882404.html

package com.woyujiezhen.test;

import java.math.BigDecimal;
import java.text.DecimalFormat;

public class BigDecimalTest {
private static String formatDecimalPoint(BigDecimal bigDecimal, int decimalPoint) {
        StringBuilder format = decimalPoint == 0 ? new StringBuilder("#,##0") : new StringBuilder("#,##0.");
        StringBuilder decimal = new StringBuilder();
        for (int i = 0; i < decimalPoint; i++) {
            decimal.append("0");
        }
        if (bigDecimal == null) {
            return decimalPoint == 0 ? "0" : "0." + decimal;
        }
        if (BigDecimal.ZERO.compareTo(bigDecimal) > 0) {
            format = new StringBuilder("-").append(format);
        }
        DecimalFormat decimalFormat = new DecimalFormat(format.append(decimal).toString());
        return decimalFormat.format(bigDecimal);
    }
    
    public static void main(String[] args) {
        Integer a = null;
//        BigDecimal bigDecimal1 = new BigDecimal(a);
        String[] strs = {"12", "211", "3333", "0", "0.123", "00.55", null, "6.666", "88888888888.235555", "-12", "-333333333.2366", "-0.00", "-0.12"};
        for (String str : strs) {
            BigDecimal testDecimal;
            if (str == null) {
                testDecimal = null;
            } else {
                testDecimal = new BigDecimal(str);
            }
            for (int i = 0; i < 4; i++) {
                System.out.print(formatDecimalPoint(testDecimal, i));
                System.out.print("  ");
            }
            System.out.println();
        }
    }
}

 

标签:BigDecimal,format,StringBuilder,分节,三位,new,null,bigDecimal
From: https://www.cnblogs.com/woyujiezhen/p/16892095.html

相关文章

  • BigInteger,BigDecimal
    BigInteger方法名说明publicBigInteger(intnum,Randomrnd)获取随机大整数,范围:[0~2的num次方-1]publicBigInteger(Stringval)获取指定的大整数......
  • BigDecimal 的四舍五入
    publicstaticStringround(BigDecimaldata,@NotNullIntegerdigit){/*1.判断要截取的数据是否为空,或者保留的位数是为大于零,如果不合理则返回*/i......
  • BigDecimal保留两位小数点示例详解
     BigDecimal保留两位小数点非常简单,BigDecimal是一个java数据类型,它能有效的保持数据的精度,下面是一个BigDecimal保留两位小数点的用法示例。publicclassMyDemo{pu......
  • BigDecimal常用方法详解
    IDEA中的BigDecimal常用方法详解1.在项目中我们通常会求同比和环比我们就可以使用BigDecima;2.案例如下:@OverridepublicMap<String,Object>getJsrPzfx(Str......
  • BigDecimal
         ......
  • java BigDecimal 转换成 Long数据类型 b.longValue()
    javaBigDecimal转换成Long数据类型b.longValue()  //bigDecimal转换成Long类型publicstaticvoidtest(){BigDecimalb=newBigDecima......
  • BigDecimal精度详解
    [BigDecimal精确度的计数保留法及精度丢失的解决办法]目录[BigDecimal精确度的计数保留法及精度丢失的解决办法]BigDecimal精确度的计数保留法1、ROUND_UP2、ROUND_DOWN3......
  • Java BigDecimal 合集
    HDU17532个小数相加importjava.math.*;importjava.util.*;publicclasshdu1753{publicstaticvoidmain(StringArgs[]){Scannercin=newScanner(Syste......
  • 【Python】第3章-20 逆序的三位数
    程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。......
  • vue 实现滚动数字效果,并且三位分割展示
    vue中animate-number组件可实现效果formatter(value){//returnnum.toFixed(2)if(!value)return'0'varintPa......