1

私はさまざまなものを検索して見つけましたが、探しているものを実際に得るのに役立つものはありません. ユーザーが異なる時間を選択できる 2 つの JComboBox があります。たとえば、8:00 と 17:30 としましょう。ここで、それらの時間の差を表示できるようにしたいので、この場合は 9.5 になります。9:30 ではなく、9.5 にしたいのです。しかし、私のコードは 9.3 を実行しています。これは、文字列を double に変換しているだけだからです。

どんな助けでも素晴らしいでしょう

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 に答える