比较两个十进制值与打字稿

时间:2018-06-20 09:21:56

标签: javascript typescript

当一个值大于另一个值时,我正在尝试向用户弹出一条消息。我用过float,但是当脚本显示为true时,它不会显示

appVersionAndroid = '1.9'
appVersionWebAndroid = '1.10'

if(parseFloat(this.appVersionAndroid) < parseFloat(this.appVersionWebAndroid)) {
  alert('needs update')
}

3 个答案:

答案 0 :(得分:2)

1.9大于1.10。这就是为什么警报不显示的原因。

答案 1 :(得分:2)

数字1.1(与1.10相同)不大于1.9

例如,您可以在点之前和之后为版本使用2个不同的变量。

主要思想是将点之前和之后的数字视为两个不同的整数数字(例如,可以将其称为 major minor 版本),完全不同于浮点数大。

然后实现一个比较函数,如下所示:

首先比较主号码。如果相等,则比较次要数字。

答案 2 :(得分:2)

您的代码还可以,没有问题。放置值存在一个小错误。您将appVersionAndroid的值设为“ 1.9”,并将appVersionWebAndroid的值设为1.10,实际上第一个值大于第二个值,因为float转换器有两个十进制数,我的意思是1.9表示1.90,这比1.10大。因此,这就是为什么您的条件为假的原因。

对不起,我的英语。但是我想你明白我想说的话。

appVersionAndroid = "1.10"
appVersionWebAndroid = "1.90"
 if(parseFloat(this.appVersionAndroid) < parseFloat(this.appVersionWebAndroid)){
alert('needs update')
}