在JAVA中显示格式XX:00
我想在Java中以XX:00的格式显示一个数字。我怎么做 例如:整数=12; 表演12点在JAVA中显示格式XX:00,java,number-formatting,Java,Number Formatting,我想在Java中以XX:00的格式显示一个数字。我怎么做 例如:整数=12; 表演12点 double i = 12; show 12:00 显示双倍数字 如果12.0是以冒号作为小数分隔符打印的小数: double i = 12; DecimalFormatSymbols dfs = new DecimalFormatSymbols(); dfs.setDecimalSeparator(':'); NumberFormat format = new Decim
double i = 12;
show 12:00
显示双倍数字
如果12.0是以冒号作为小数分隔符打印的小数:
double i = 12;
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setDecimalSeparator(':');
NumberFormat format = new DecimalFormat("00.00", dfs);
System.out.println(format.format(i));
输出:
12:00
如果i
是12.75而不是12,那么分数也会被打印出来:
12:75
它以两位小数四舍五入到最接近的数字,因此12.756将被打印为12:76
以小时和分钟为单位显示持续时间
如果您的12:00
表示时间量,以小时和分钟为单位的持续时间,那么我们希望有所不同,因为一小时内有60分钟,而不是100分钟。以下是Java 9及更高版本:
long totalMinutes = (long) (i * TimeUnit.HOURS.toMinutes(1));
Duration dur = Duration.ofMinutes(totalMinutes);
System.out.format("%02d:%02d%n", dur.toHours(), dur.toMinutesPart());
这张照片
12:00
或在12.75的情况下:
12:45
12.75等于12加3刻钟,印刷的45也等于3刻钟,所以这就是我们想要的。它四舍五入,所以即使12.759等于12小时45分32.4秒,它仍然打印为12:45
Java8及更早版本:
我使用的toMinutesPart
方法是在Java9中引入的。在Java 8(及更早版本)中,您仍然可以使用Duration
类,但它的优势较小,因此您也可以不使用它:
int hours = (int) i;
long minutesOnly = totalMinutes - TimeUnit.HOURS.toMinutes(hours);
System.out.format("%02d:%02d%n", hours, minutesOnly);
现在结果与上面相同。i+“:00”
?或者使用String.format
int hours = (int) i;
long minutesOnly = totalMinutes - TimeUnit.HOURS.toMinutes(hours);
System.out.format("%02d:%02d%n", hours, minutesOnly);