【发布时间】:2015-09-26 17:39:55
【问题描述】:
我正在尝试用 Java 尽可能准确地编写这个计算器。它需要几秒钟并将其转换为年,然后分解天、小时、分钟和秒。我已经格式化了我的答案,以便我的 textFields 只显示整数。不幸的是,当我使用 % 来提取余数以转换我的其余变量时,如果我的十分之一是 5 或更多,它会将我的答案向上取整。这是一个GUI,这里是代码。我猜这是一个容忍问题。
private class CalculateButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
double inputSeconds, years, days, hours, minutes, seconds;
inputSeconds = Double.parseDouble(inputSecondsTF.getText());
years = inputSeconds / 60 / 60 / 24 / 365;
days = years % 1 * 365;
hours = days % 1 * 24;
minutes = hours % 1 * 60;
seconds = minutes % 1 * 60;
yearsTF.setText(String.format("%.0f", years));
daysTF.setText(String.format("%.0f", days));
hoursTF.setText(String.format("%.0f", hours));
minutesTF.setText(String.format("%.0f", minutes));
secondsTF.setText(String.format("%.0f", seconds));
}
}
【问题讨论】:
标签: java swing formatting