1

所以这是我的问题。我试图获得 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--;
          }
    }
4

1 回答 1

0

在 javascript 中,数字1010.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. 实际上,没有太多理由这样做。您可以只使用完整的浮点数并在最后进行转换。

于 2018-12-18T20:39:00.980 回答