如何检查值是整数(整数)还是包含小数?在 Javascript 中,我们有 isInteger
但我在 Dart 中找不到等价物。
我们似乎检查了 isEven
, isOdd
, isFinite
, isInfinite
, isNaN
和 isNegative
但没有 isInteger
?
最佳答案
Dart 数字(类型 num
)是整数(类型 int
)或 double (类型 double
)。
很容易检查一个数字是否是 int
,就做value is int
.
稍微困难一点的任务是检查是否存在 double
value 有一个整数值,或者没有小数部分。没有简单的函数来回答这个问题,但你可以做 value == value.roundToDouble()
.这将从 double
中删除任何小数部分值并将其与原始值进行比较。如果它们相同,则没有小数部分。
因此,辅助函数可以是:
bool isInteger(num value) =>
value is int || value == value.roundToDouble();
我用
roundToDouble()
而不仅仅是 round()
因为后者也会将该值转换为整数,这可能会为较大的 double 值提供不同的值。
关于flutter - Dart/Flutter 检查值是否为整数/整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58010627/