Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中显示不带尾随零的小数_Java - Fatal编程技术网

在Java中显示不带尾随零的小数

在Java中显示不带尾随零的小数,java,Java,我遇到了这个问题,我有很多表示时间的long类型(只有秒和毫秒)。例如,我想将其显示为1124 ms。我认为简单的除法可以完成这项工作,所以我尝试了这段代码 long time = 2; System.out.println(((float) time) / 1000); 但是当这个数字只有一个数字时,就像上面的例子一样,它给了我00020。那么,有没有办法更正我的公式,或者我必须手动剪切最后一个零?只需使用一个格式语句,将其设置为小数点后3位即可 String.format("%.3f"

我遇到了这个问题,我有很多表示时间的long类型(只有秒和毫秒)。例如,我想将其显示为
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的代码更能很好地解决这个问题:)它需要时间,所以允许您接受某人的答案;-)