Javascript如何暗示转换?

时间:2017-09-14 07:10:05

标签: javascript

最近,我遇到了这个问题:

Glide.with( holder.itemView.getContext() ) .load( Constants.HTTP.PHOTO_URL + currentColleague.getMail() ) .thumbnail( 0.5f ) .override( 200, 200 ) .placeholder(R.drawable.ic_placeholder) .diskCacheStrategy( DiskCacheStrategy.ALL ) .into( holder.colleaguePicture ); false

为什么结果呢?以及如何暗示转换在比较运算符"78.1133" <= "271.7895"

中的作用

感谢。

2 个答案:

答案 0 :(得分:1)

仅当两个比较实体具有不同类型时才会发生转换...当比较两个字符串时,不会进行转换。字符串比较是逐个字符的。在您的示例中,7大于2,因此返回false。

如果您有两个数字存储在字符串中并需要比较它们的数值,则需要使用parseFloat()

答案 1 :(得分:0)

字符串比较为lexicographic。值的排序方式基于它们在字典字母表中的显示方式。

因此,"aaa"小于"aab",因为第一个字符串的所有词典位置的总和小于第二个字符串的总和(想象将字母表中的位置相加 - { {1}}是第一个字母,因此它是位置a,因此1"aaa",而3则是"aab"。< / p>

在字典顺序中,4小于"1",因为它来自两个之前。因此,例如,"2"小于"11",因为我们可以再次想象累加位置,除了这次它们是数字位置而不是字母位置。使用数字位置时,"3""1",因为它是第一个,因此1的总和为"11",而2"3",因为它是第三,所以它更大。

这就是这里发生的事情。没有暗示也没有转换。