У меня проблемы с большими числами в Java при попытке сохранить их в переменной с плавающей точкой.
import java.math.BigDecimal;
import java.text.DecimalFormat;
public class testConversion {
public static void main(String[] args) {
String s = "135598877.50";
Float f = Float.parseFloat(s);
DecimalFormat df = new DecimalFormat("#0.00");
System.out.println(f);
System.out.println(df.format(f));
}
}
OUTPUT:
1.3559888E8
135598880.00
Вывод этой программы 135598880.00
, а не 135598877.50
.
Почему это происходит и как лучше всего с этим справиться? Я вообще не хочу усечения / округления.
С уважением,
Kaddy