如何格式化十进制数?
0.2
显示为2000
。
我也希望即使值0显示为0000
答案 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