private JFormattedTextField floatingText = new JFormattedTextField();
DecimalFormat df = new DecimalFormat();
NumberFormatter dnff = new NumberFormatter(df);
DefaultFormatterFactory factory = new DefaultFormatterFactory(dnff);
floatingText.setFormatterFactory(factory);
Он отлично работает, когда я ввожу небольшие числа, такие как 1,23, но когда я вхожу в BigDecimals, например, 9.99999999, он округляет его до 10. Что я могу сделать, чтобы Formatter мог принимать BigDecimal?
Вы можете изменить минимальные и максимальные цифры для отображения с помощью методов на DecimalFormat
. Так:
DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(20);
Есть и другие методы, чтобы играть со слишком.
DocumentFilter
для этого. См. Stackoverflow.com/questions/12793030/…