#java #swing #joptionpane #number-formatting
#java #качать #joptionpane #форматирование чисел
Вопрос:
Мое задание просит меня отформатировать значения до двух знаков после запятой. Нас просят использовать JOptionPane для ввода / вывода. Я знаю, как форматировать до двух знаков после запятой, используя System.out.printf . Однако я не думаю, что это сработает, потому что нам нужно использовать JOptionPane.
Если кто-нибудь может дать мне какой-либо совет о том, как отформатировать его в строку (чтобы я мог затем разобрать строку в double), я был бы признателен. Спасибо.
Вот мой код следующим образом:
package Program4;
import javax.swing.*;
public class Program4 {
public static void main (String[] args)
{
//Declaration of Variables
Double AssessedValue;
Double TaxableAmount;
Double PropertyTax;
Double TaxRatefor100 = 1.05;
String StrAssessedValue;
String OutputStr;
//Ask the user for the Assessed Value of their property
StrAssessedValue = JOptionPane.showInputDialog("Enter the assessed "
"value of your property: ");
//Convert the string into a double
AssessedValue = Double.parseDouble(StrAssessedValue);
//Calculations
TaxableAmount = 0.92*AssessedValue;
PropertyTax = (TaxableAmount/100)*1.05;
//Store the output in a string
OutputStr = "Assessed Value: $" AssessedValue "n"
"Taxable Amount: $" TaxableAmount "n"
"Tax Rate for each $100.00: $" TaxRatefor100
"n" "Property Tax: $" PropertyTax;
//Output the result
JOptionPane.showMessageDialog(null, OutputStr, "Property Tax Values",
JOptionPane.WARNING_MESSAGE);
}
}
Ответ №1:
String.format("%.2f", myNumber);
или
DecimalFormat decFormat = new DecimalFormat("0.00");
Ответ №2:
Для ввода вы можете рассмотреть возможность использования a JSpinner
с соответствующим SpinnerNumberModel
или a JFormattedTextField
.