Math.Random无法正常工作打字稿



简单的问题,但我找不到答案,我的数学很差。问题是我有这个公式来生成一个随机数。

  numRandomed: any;
  constructor(public navCtrl: NavController, public navParams: NavParams) {
  }
  public randomize(min, max) {
    console.log("minimo: " + min);
    console.log("maximo: " + max);
    this.numRandomed = Math.floor(Math.random()*(max-min+1)+min);
    console.log(this.numRandomed);
  }

和风景

<ion-list>
    <ion-item>
      <ion-label floating>Min Number</ion-label>
      <ion-input type="number" [(ngModel)]='minNumber'></ion-input>
    </ion-item>
    <ion-item>
      <ion-label floating>Max Number</ion-label>
      <ion-input type="number" [(ngModel)]='maxNumber'></ion-input>
    </ion-item>
  </ion-list>
  <button ion-button (click)='randomize(minNumber,maxNumber)'>Randomize!</button>
  <p>{{ numRandomed }}</p>

但是随机数总是低于最小数,不在范围内,我不知道为什么......

任何线索??谢谢!!

我在node中尝试了这段代码.js它运行良好。

此代码:

function randomize(min, max) {
    console.log("minimo: " + min);
    console.log("maximo: " + max);
    let x;
    console.log(Math.floor(Math.random()*(max-min+1)+min));
    console.log(x = Math.floor(Math.random()*(max-min+1)+min));
}
randomize(10,20)
randomize(10,20)
randomize(10,20)
randomize(10,20)
randomize(10,20)
randomize(10,20)

是否有此输出

minimo: 10
maximo: 20
20
11
minimo: 10
maximo: 20
17
13
minimo: 10
maximo: 20
18
20
minimo: 10
maximo: 20
13
11
minimo: 10
maximo: 20
18
10
minimo: 10
maximo: 20
12
16

我建议,您在某个时候覆盖 numRandomed 或不使用随机化方法的返回值或类似的东西。

最新更新