在HarmonyOS NEXT 中 生成10位数的随机数字 rand.setSeed方法无效的解决方法?

阅读 622
1 个回答

rand.generateRandomSync方法的描述是“同步生成指定长度的随机数”,它的参数是指定生成随机数的长度,单位为字节,范围在1到INT_MAX之间。该方法会同步生成指定长度的随机数,并返回一个DataBlob对象,返回的DataBlob对象中存储了生成的随机数,而DataBlob对象在HarmonyOSOS中是一个字节数组,可以包含多个字节。当前随机数只能指定长度,无法指定范围,可以将得到的随机数自定义范围,可以参考以下代码实现:

let rand = cryptoFramework.createRandom(); 
//设置生成随机数的字节长度为1 
let randData = rand.generateRandomSync(1); 
//自定义范围(0-10之内) 
let num:number = randData.data[0] * 10 / 255; 
console.log("随机数:" + num)

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进