java-将时间值为“ 0:00”的字符串转换为十进制/双精度值?

我试图从表中检索数据并将其转换为双精度值以便对其进行图形化处理.第0列用“ 00:00”格式的时间值填充,第1列用十进制值填充.

使用此代码,我似乎已经正确检索了数据并将第1列的内容转换为double值,但是不知道如何将带有时间值的String转换为double值以表示小时数:

int row = tableRadio.getRowCount();
    for (int r = 0; r  < row; r++) {
        double r2 = Double.parseDouble( tableModel.getValueAt(r, 0).toString() );
        double r3 = Double.parseDouble( tableModel.getValueAt(r, 1).toString() );
        series.add(r2, r3);
    }

我一直在获取java.lang.NumberFormatException:对于试图以图形方式显示此数据的输入字符串:“ 0:00”,据我了解,这是因为冒号不能等于数字值.但是我怎么能说“ 00:21”而显示为“ 0.21”或可以用来绘制数据图形的内容呢?欢迎任何建议和示例.

解决方法:

使用SimpleDateFormat解析()时间列,并创建时间序列图,如here所示.在结果DateAxis上使用setDateFormatOverride()设置时间格式,如here所示.如有必要,可以更改DateFormatSymbols,如here所示.

上一篇:java-JFreechart程序正在运行,但未显示窗口


下一篇:java-JFreeChart:如何更改XYPlot前景色?