浏览 4924 次
锁定老帖子 主题:随机产生任意位数的数字编号代码
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (4)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-21
最后修改:2010-02-21
随机生成任意位数的编号,适用于各种商品编号。 不知道有没有更简单的算法来生成?
public static String doGenRamdomNum(int digits){ java.util.Random r=new java.util.Random(); int random = Math.abs(r.nextInt())% (int)(Math.pow(10, digits)); String result =null ; int length = (random+"").length(); result = random*((int)Math.pow(10, digits-length))+""; return result; } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-02-21
为何不直接用 UUID ?
|
|
返回顶楼 | |
发表时间:2010-02-21
evaspring 写道 为何不直接用 UUID ? UUID感觉比较长,希望生产的编号全是数字形式的字符串。 |
|
返回顶楼 | |
发表时间:2010-02-22
最后修改:2010-02-22
int lenght=10; Random random = new Random(new Date().getTime()); byte[] bi=new byte[lenght]; random.nextBytes(bi); for (byte b : bi) { ///用math.asb把byte的负号去掉,可以直接累加到需要的长度 char c=(b+"").charAt((""+b).length()-1); System.out.print(c); } |
|
返回顶楼 | |
发表时间:2010-03-01
可以重复?
|
|
返回顶楼 | |
发表时间:2010-10-11
使用apache common lang 的 RandomStringUtils.randomNumeric(8)
|
|
返回顶楼 | |