【发布时间】:2017-07-24 03:22:01
【问题描述】:
我想使用 Java 随机生成 0 到 2.10 范围内的价格。我希望价格格式为 0.00、0.10、0.20、0.30、0.40、0.50 .... 1.10、1.20 一直到 2.10。我的代码是这样的:
private static DecimalFormat df2 = new DecimalFormat(".##");
double min = 0;
double max = 2.10;
double diff = max - min;
double randomValue = min + Math.random( ) * diff;
System.out.println(df2.format(randomValue));
但是,它会打印出 .06、1.0、.99、.02 等值。是否有格式化它的方法?
【问题讨论】:
-
不行不行。我仍然看到一些值,例如 .03、.07 等
-
如果您希望所有随机值都是 0.10 的倍数,则生成一个随机整数并将其乘以 0.10(或除以 10)。查看
Random类,了解生成随机整数的方法。
标签: java random format decimalformat