要求是检查位数是否小于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 ×1