Angular打字稿给出了错误的布尔结果 - Ionic

时间:2018-03-09 17:44:18

标签: angular typescript ionic-framework

我正在构建一个随机生成器,用户需要输入最大和最小数字才能在该数字之间生成随机数。因此应用程序将在两个条件下返回错误:

  1. 如果任何一个数字为负值
  2. 如果最大数量小于最小数量
  3. 这是我的代码,显示方法生成编号:

    generateRandomNumber(max, min) {
    console.log(max<min);
      if(max > min && min > 0){
        this.number = Math.floor(Math.random() * (max - min + 1)) + parseInt(min);
        this.err_compare = false;
        this.err_negative = false;
      }
      else if(max < 0 || min < 0){
        this.err_negative = true;
      }
      else if(max < min){
        this.err_compare = true;
      }
    
    }
    
      

    当我输入max = 10和min = 1时,它返回 false 。但是当我更改min = 2时,日志返回 true

    Click Here to see the log

    有人可以解释为什么会这样吗?

    更新

    作为@Setu先生的后续行动,我通过直接将数字插入函数并返回正确的结果来测试自己,因此我假设输入中出现了问题。这是标记:

     <form #generator="ngForm">
      <ion-item>
        <ion-label for="max" floating>Maximum</ion-label>
        <ion-input type="number" [(ngModel)]="max" name="max" required></ion-input>
      </ion-item>
      <ion-item>
        <ion-label for="min" floating>Minimum</ion-label>
        <ion-input type="number" [(ngModel)]="min" name="min" required></ion-input>
      </ion-item>
      <br>
      <button default ion-button block [disabled]="!generator.valid" (click)="generateRandomNumber(max,min)">Generate</button>
     </form>
    

    从我看到的情况来看,它正在检测我好像要键入

    20,21,22...
    

    &#34;当我只关键点什么

    2
    

1 个答案:

答案 0 :(得分:0)

我已尝试过你的功能,但它会返回正确的答案。检查下面的控制台日志

enter image description here