在Java中显示不带尾随零的小数
我遇到了这个问题,我有很多表示时间的long类型(只有秒和毫秒)。例如,我想将其显示为在Java中显示不带尾随零的小数,java,Java,我遇到了这个问题,我有很多表示时间的long类型(只有秒和毫秒)。例如,我想将其显示为1124 ms。我认为简单的除法可以完成这项工作,所以我尝试了这段代码 long time = 2; System.out.println(((float) time) / 1000); 但是当这个数字只有一个数字时,就像上面的例子一样,它给了我00020。那么,有没有办法更正我的公式,或者我必须手动剪切最后一个零?只需使用一个格式语句,将其设置为小数点后3位即可 String.format("%.3f"
1124 ms
。我认为简单的除法可以完成这项工作,所以我尝试了这段代码
long time = 2;
System.out.println(((float) time) / 1000);
但是当这个数字只有一个数字时,就像上面的例子一样,它给了我
00020
。那么,有没有办法更正我的公式,或者我必须手动剪切最后一个零?只需使用一个格式语句,将其设置为小数点后3位即可
String.format("%.3f", floatValue);
如果您需要了解有关数字格式的更多信息,请查看链接,只需使用一条格式语句,使其保留小数点后3位即可
String.format("%.3f", floatValue);
如果您需要了解有关数字格式的更多信息,请查看链接,这将完成任务
long time = 2;
float num = ((float) time) / 1000;
DecimalFormat df = new DecimalFormat("#.###");
String str = df.format(num);
System.out.println(str);
这将完成任务
long time = 2;
float num = ((float) time) / 1000;
DecimalFormat df = new DecimalFormat("#.###");
String str = df.format(num);
System.out.println(str);
这是为显示设置格式的问题,不是除法的问题,所以我编辑了你的问题标题…这是为显示设置格式的问题,不是除法的问题,所以我编辑了您的问题标题…谢谢,但我认为Jon Taylors的代码可以更好地解决这个问题:)在so允许您接受某人的答案之前需要时间;-)谢谢,但我认为Jon Taylors的代码更能很好地解决这个问题:)它需要时间,所以允许您接受某人的答案;-)