У меня есть ограничение xsd на мой процент, который имеет тип BigDecimal
<xs:simpleType name="PercentageRate">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="10"/>
<xs:totalDigits value="11"/>
</xs:restriction>
</xs:simpleType>
Теперь я всегда хочу убедиться, что мои общие цифры не получают больше 11 цифр, а масштаб необходим для динамического обновления на основе числа додесятичный.Я написал ниже код JAVA, но я просто хотел узнать, есть ли лучший способ для реализации этого:
BigDecimal myNumber= resultSet.getBigDecimal("MY_NUM");
String numbersBeforeDecimal = myNumber.toPlainString().split("\\.")[0];
if(myNumber!= null){
if(numbersBeforeDecimal.length() == 1){
myNumber.setScale(10,BigDecimal.ROUND_HALF_UP);
}
else{
myNumber.setScale(8,BigDecimal.ROUND_HALF_UP);
}
}