小编Har*_*een的帖子

如何检查BigDecimal的位数?

要求是检查位数是否小于7位,在这种情况下插入DB,否则不.我尝试了以下解决方案:

第一解决方案

public static void checkNoOfDigitVal(BigDecimal bigDecVal) {
    BigInteger digits = bigDecVal.toBigInteger();
    BigInteger ten = BigInteger.valueOf(10);
    int count = 0;
    do {
        digits = digits.divide(ten);
        count++;
    } while (!digits.equals(BigInteger.ZERO));
    System.out.println("Number of digits : " + count);
}
Run Code Online (Sandbox Code Playgroud)

第一种解决方案有时可以正常工作,但有时候while循环中的条件不满足,并且它会继续增加计数,导致无穷无尽的计数.

二解决方案:

public static void checkNoOfDigitsVal(BigDecimal bigDecVal) {
    String string = bigDecVal.toString();
    String[] splitedString = string.split("\\.");
    String[] newVal = splitedString[0].split("");
    int a = newVal.length - 1;
    if (a <= 6) {
        System.out.println("correct size insert into DB: " + a);
    } else {
        System.out.println("Incorrect …
Run Code Online (Sandbox Code Playgroud)

java

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1