flutter - Dart/Flutter 检查值是否为整数/整数

标签 flutter dart integer

如何检查值是整数(整数)还是包含小数?在 Javascript 中,我们有 isInteger但我在 Dart 中找不到等价物。

我们似乎检查了 isEven , isOdd , isFinite , isInfinite , isNaNisNegative但没有 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/

相关文章:

java - 禁用Java使大数变小? (10,000,000,000 至 1E10)

比较两个未排序 int 数组的代码。 C

ios - Flutter iOS 如何显示下载通知成功?

firebase - Flutter Firebase -- 为 iOS、Android 和 Web 设置不同的部署目标

android - 为什么使用 'orderby'进行flutter StreamBuilder查询会导致错误

ios - 从 FlutterViewController 弹回原生 iOS 应用

flutter - 为共享首选项用户名定义变量时出现问题

flutter - flutter :从小部件中获取小部件的屏幕截图

dart - Polymer Core-List演示到Dart代码

algorithm - 伪随机一对一 int32->int32 函数