// The given input
String input = "99999999.99";
// We need only 2 decimals (in case of more than 2 decimals is in input)
Float value = Float.valueOf(input);
DecimalFormat df = new DecimalFormat("#0.00");
input = df.format(value);
value = new Float(input);
// Now we have a clear 2 decimal float value
// Check for overflow
value *= 100; // Multiply by 100, because we're working with cents
if (value >= Integer.MAX_VALUE) {
System.out.println("Invalid value");
}
else {
///
}
Заявление не работает, условие не работает.Как узнать, превышает ли значение float значение Integer.MAX_VALUE?
Каков правильный способ сравнения поплавка с целым значением?
Обратите внимание, что точность 'Float' не достаточно хорошо, чтобы обрабатывать весь диапазон в' Integer'. Если вы обрабатываете деньги, вы должны избегать использования чисел с плавающей запятой, когда это возможно. –