格式化字符串0.2到2000

时间:2017-10-12 10:45:32

标签: java

如何格式化十进制数?

0.2显示为2000

我也希望即使值0显示为0000

3 个答案:

答案 0 :(得分:0)

这是假设所需输出为2000的解决方案:

System.out.println(String.format("%.4f", 0.2).replaceFirst("^0\\.", ""));

0000相同:

System.out.println(String.format("%.4f", 0.0).replaceFirst("^0\\.", ""));

你可以使用一种方法:

private static String convert(double v) {
    return String.format("%.4f", v).replaceFirst("^0\\.", "");
}

答案 1 :(得分:0)

你的问题不是很完整,如果你想显示十进制数的整数值(向上/向下),那么你只需要* 10000然后将其舍入,然后将其格式化为RC的答案。

public static void main(String[] args) {

    float original = 0.2f;
    float multiplied  = original *10000;
    int intvalue = (int)multiplied; // you can change to round up/down

    String d = String.format("%04d", intvalue);
    System.out.println("Value d : "+d);

}

点击此处查看格式https://dzone.com/articles/java-string-format-examples

答案 2 :(得分:0)

我先错了。以下是使用适合您情况的DecimalFormatter的正确答案。假设您已定义double d;

DecimalFormat formatter = new DecimalFormat("#0000");
System.out.println(formatter.format(d * 10000));

使用#0000将输出格式化为4个位置。

0   -> 0000
0.2 -> 2000
0.8 -> 8000