Сначала рассмотрим, принимает ли setTotalPremium
double
или float
.Или стоит ли.Если это так, используйте Double.parseDouble("813.0")
или Float.parseFloat("813.0")
.
Если нет, решите, какое округление вы хотите.Если есть.Для 813.0
это, вероятно, просто, вам нужно 813. Но что, если это было 813,1, 813,5, 813,8?
Если вы хотите округлить до ближайшего int
, используйте Math.round(Float.parseFloat("813.0"))
.Если вы хотите отклонить числа, которые не равны int
:
double doubleValue = Double.parseDouble("813.0");
if (doubleValue != Math.rint(doubleValue)) {
throw new IllegalStateException("Not a whole number: " + doubleValue);
}
Редактировать: В своем коде вы заменяете ,
(запятая) пустой строкой.Если это для анализа чисел с тысячами разделителей, например 1,813.0
, лучше этого не делать.Вместо этого используйте NumberFormat
и / или DecimalFormat
для разбора числа с разделителем / тысячами.