Насколько я знаю:
public static BigDecimal floatToBigDecimal(Float a){
if(a == null || a.isInfinite() || a.isNaN()){
return BigDecimal.ZERO;
}
try{
return BigDecimal.valueOf(a);
}catch(Exception e){
return BigDecimal.ZERO;
}
}
* Примечание. Обычно это предпочтительный способ преобразования double (или числа с плавающей точкой) в BigDecimal, поскольку возвращаемое значение равно значению, полученному в результате создания BigDecimal из результата использования Double.toString (double).
публичное статическое BigDecimal valueOf (double val)
Параметры :
val - double для преобразования в BigDecimal.
Возвращает
BigDecimal, значение которого равно или приблизительно равно значению val.
Выдает:
NumberFormatException - если значение val бесконечно или NaN.
С:
1,5
Я проверил, является ли бесконечным или нет число, чтобы меньше шансов NumberFormatException