这是我的问题。我正在尝试获取介于0和20之间的随机数,同时包括0.00和20.00。我似乎无法弄清楚我必须要做些什么。到目前为止,这是我的代码。
以下是与我的问题有关的一行:
arrTemperaturer.push((Math.random() * (20)).toFixed(2));
这是上下文中的代码:
arrTemperaturer=[];
function randomTemp(antDager){
i=antDager;
while(i>0){
arrTemperaturer.push((Math.random() * (20)).toFixed(2));
i--;
}
}
答案 0 :(得分:0)
在javascript中,数字10
和10.00
之间没有区别。只能使用字符串来区分。这就是toFixed()
返回字符串的原因。通常,您应该尝试使用数字,直到需要显示它们为止,然后使用诸如toFixed()
之类的数字将其转换为适当的数字字符串表示形式。
如果要生成精确到两位小数的0到20(含)之间的数字,可以查找0到2001之间的随机数,取Math.floor()
将得到一个整数,然后除以100。
let arr = Array.from({length:10}, () => Math.floor(Math.random() * (2001))/100)
console.log(arr)
请理解,除非您转换为字符串,否则2.70
之类的数字将不存在,而是2.7
。实际上,没有太多理由要这样做。您可以只使用完整的浮点数并在最后进行转换。