在JavaScript中,可能的最高整数是通过
定义的Number.MAX_SAFE_INTEGER.
以及C ++中也可以使用std:
获得std::numeric_limits<int>::max()
对于整数或双打,QML中是否存在这样的常数?
答案 0 :(得分:3)
正如最初所怀疑的那样,文档中列出的2000000000
号码不正确。此外,IMO这是一个重要的价值,不应该真正受到这种粗心的近似。 “周围”只应在实际值未知某些或不重要的情况下使用。
一个简单的测试可以验证QML中int
属性的最大可能值是2147483647
,还是预期的2^31 - 1
。
请注意,这不同于Number.MAX_SAFE_INTEGER
这是一个JS的东西,而且该值是2^53 - 1
- 远远高于int
给你的值。 Number
是一个64位实数数据类型,它通过使用数字的53个分数位来支持整数,11个指数位未被使用。
答案 1 :(得分:0)
另一种替代方法是使用IntValidator。默认情况下,top和bottom属性包含最大和最小Qt int值。
readonly property IntValdiator intValdiator: IntValidator {}
readonly property int MAX_VALUE: intValidator.top
readonly property int MIN_VALUE: intValidator.bottom
答案 2 :(得分:0)
您需要的常量为-Infinity
和Infinity
,或者Number.NEGATIVE_INFINITY
和Number.POSITIVE_INFINITY