gpt4 book ai didi

java - 生成一个随机数,前面加0,保证位数固定

转载 作者:行者123 更新时间:2023-11-29 03:04:42 24 4
gpt4 key购买 nike

所以我正在尝试生成一个随机数。我将在随机数之前附加日期和月份作为整数。我可以使用以下代码来做到这一点。

    Calendar calendar;
calendar=Calendar.getInstance();
int day= calendar.get(Calendar.DAY_OF_MONTH);
int month=calendar.get(Calendar.MONTH)+1; //it treats Jan as 0 hence i add 1
int num= Integer.valueOf(String.valueOf(month)+String.valueOf(day));

现在我需要生成一个随机数,但在它之前添加 0。例如,今天是 9 月 21 日,所以数字看起来像

    921 (num) + 22334 (random num) = 92122334
921 (num) + 2 (random num) = 92100002

基本上在开头添加 0 以确保位数保持不变。这个用例是生成具有内置时间戳的唯一订单号的更简单方法。我不希望每天处理超过 200 个订单,因此采用 5 位随机数似乎足够合理,因为重复的概率非常小。

最佳答案

两种可能的解决方案。

Calendar calendar = GregorianCalendar.getInstance();
int num = 0;
num += (calendar.get(Calendar.MONTH) + 1) * 10_000_000;
num += calendar.get(Calendar.DAY_OF_MONTH) * 100_000;
num += your_random_number_lower_100000

第二个

Calendar calendar = GregorianCalendar.getInstance();
String randomDigits = String.format("%d%02d%05d",
calendar.get(Calendar.MONTH) + 1,
calendar.get(Calendar.DAY_OF_MONTH),
your_random_number_lower_100000
);

关于java - 生成一个随机数,前面加0,保证位数固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32693508/

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