Nodejs 求助大佬 js 生成小数点后有一位或两位的随机数

发布于 1周前 作者 nodeper 来自 nodejs/Nestjs

Nodejs 求助大佬 js 生成小数点后有一位或两位的随机数
如题 比如 1~2 之间生成 1.2 1.12 这类小数点后位数可控的随机数
random ()生成的随机数小数太多 取整后当字符串处理加点可读性又太差
求一个好一点的方法 已经 Google 过了 因为是新手 所以没有收获
希望大佬帮助 感谢感谢

7 回复

const random = (min = 0, max = 1, rest = 0) => {
return (Math.random() * max + min).toFixed(rest)
}
random(1, 3, 2)


toFixed 取小数点后 n 位

function GetRandomNumber(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
}
function YourMethod(min, max){
return GetRandomNumber(min100, max100)/100
}

你好!

在Node.js中生成小数点后有一位或两位的随机数,你可以使用JavaScript的Math.random()函数,并通过一些简单的数学运算来实现。下面是一个示例代码,展示了如何生成这种随机数:

// 生成小数点后有一位的随机数
function getRandomOneDecimal() {
    return Math.round(Math.random() * 10) / 10;
}

// 生成小数点后有两位的随机数
function getRandomTwoDecimals() {
    return Math.round(Math.random() * 100) / 100;
}

// 测试函数
console.log('One decimal random number:', getRandomOneDecimal());
console.log('Two decimals random number:', getRandomTwoDecimals());

解释:

  1. Math.random() 生成一个0到1之间的随机浮点数(不包括1)。
  2. Math.random() * 10 生成一个0到10之间的随机浮点数。
  3. Math.round() 对浮点数进行四舍五入。
  4. / 10 将四舍五入后的结果转换为小数点后有一位的浮点数。
  5. 类似地,Math.random() * 100/ 100 用于生成小数点后有两位的浮点数。

这样,你可以通过调用getRandomOneDecimal()getRandomTwoDecimals()函数来分别生成所需的小数点位数的随机数。

希望这能帮助到你!如果还有其他问题,欢迎继续提问。

回到顶部