1

我已经搜索并发现了很多不同的东西,但没有一个能真正帮助我找到我想要的东西。我有两个 JComboBoxes,用户可以在其中选择不同的时间。例如,假设 8:00 和 17:30。现在我希望能够显示这些时间之间的差异,所以在这种情况下它将是 9.5。我希望它在 9.5,而不是 9:30。但是我的代码是 9.3,因为它只是将我的字符串转换为双精度。

任何帮助都会很棒

public void displaytotal() {
    Object sunBobj, sunEobj, mon, tues, wed, thur, fri, sat;
    double totalD;

    sunBobj = jComboBox1.getSelectedItem();
    sunEobj = jComboBox2.getSelectedItem();
    String sunB = sunBobj.toString();
    String sunE = sunEobj.toString();
    try {
        double sundB = Double.parseDouble(sunB.replace(":", "."));
        double sundE = Double.parseDouble(sunE.replace(":", "."));
        totalD = ((sundE - sundB)) * 24;

        String totalS = "" + totalD;
        jLabel17.setText(totalS);
    } catch (NumberFormatException ex) {
        JOptionPane.showMessageDialog(null, ex);
    }
}
4

1 回答 1

5

hh:mm您可以以小时/分钟为单位拆分字符串:

String[] time = sunB.split(":");
int hours = Integer.parseInt(time[0]);
int minutes = Integer.parseInt(time[1]);

double decimalTime = hours + minutes / 60.0;
于 2012-06-25T17:29:06.683 回答