gpt4 book ai didi

java - ThreadLocalRandom 双 2 小数

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:06 26 4
gpt4 key购买 nike

我尝试打印只有 2 位小数的 double 组。但我在google上找不到怎么办。请帮忙吗?

package com.company;
import java.util.ArrayList;
import java.util.concurrent.ThreadLocalRandom;

public class java_05_16_05_01 {
public static void main(String[] args){
ArrayList<Double> salary=new ArrayList<Double>();
int NumberPersonSurveyed = ThreadLocalRandom.current().nextInt(1, 10+1);
for(int i=0; i<NumberPersonSurveyed; i++){
double salaryPerson = ThreadLocalRandom.current().nextDouble(1000, 10000+1);
salary.add(salaryPerson);
}
System.out.println(salary);
}
}

实际上输出是:[9803.056390825992,2753.180103177606,2602.5359323328644,3319.2942269101018]

但我期望:[9803.056,2753.18,2602.53,3319.29]

注意我想使用 Math.random 或类似的 ThreadLocalRandom 实例。非常感谢!

最佳答案

由于您正在模拟工资,因此您可以简单地生成以美分为单位的 int 值,然后除以 100(并转换为 double )即可得到结果。就像这样:

double salaryPerson = ThreadLocalRandom.current().nextInt(100 * 1000, 100 * (10000 + 1)) / 100d;

这种方法可以让您摆脱字符串格式问题,并且如果您希望执行除打印之外的额外操作,还可以使用精确的值来处理数据。

关于java - ThreadLocalRandom 双 2 小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52080164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com