如何判断值是整数(整数)还是包含小数?在Javascript中,我们有isInteger
个,但我在DART中找不到对应的.
我们好像有isEven
、isOdd
、isFinite
、isInfinite
、isNaN
和isNegative
的支票,但没有isInteger
张?
如何判断值是整数(整数)还是包含小数?在Javascript中,我们有isInteger
个,但我在DART中找不到对应的.
我们好像有isEven
、isOdd
、isFinite
、isInfinite
、isNaN
和isNegative
的支票,但没有isInteger
张?
DART编号(类型num
)可以是整数(类型int
)或双精度(类型double
).
判断一个数字是否是int
很容易,只需做value is int
即可.
稍微困难一点的任务是判断double
值是否有整数值,或者没有小数部分.没有简单的函数可以回答这个问题,但你可以做value == value.roundToDouble()
.这将从double
值中删除任何小数部分,并将其与原始值进行比较.如果它们是相同的,那么就没有分数部分.
因此,辅助函数可以是:
bool isInteger(num value) =>
value is int || value == value.roundToDouble();
我使用roundToDouble()
而不是round()
,因为后者也会将值转换为整数,对于大的双精度值,可能会给出different.