在Dart中,我们有两种数字类型 - int, double
int 表示整数,不包含小数或小数的数字 存储包含小数值的浮动数字。double
如何检查给定的数字是int还是double?
我们有多种方法可以检查
- 使用is运算符
dart是用来检查变量是否为给定类型的操作符。
语法:
variable is datatype
如果变量属于给定的数据类型,则返回真,否则返回假。 这个检查是作为num类型的一个扩展而添加的。
下面是一个检查给定数字是int还是double的程序实例。
void main() {
num intValue = 12;
num doubleValue = 11.12;
print(intValue.isIntValue()); // true
print(doubleValue.isIntValue()); // false
}
extension WholeNumber on num {
bool isIntValue() => this is int;
}
- 使用模数运算符
模数运算符在两个操作数除以后给出一个余数。
如果给定的数字是一个整数,那么该值被除以1,并给出余数为零,如果给定的数字是一个双数或小数,那么除以1后的余数不是零。
下面是一个检查给定的数字是否包含小数的示例程序。
void main() {
num intValue = 12;
num doubleValue = 11.12;
print(intValue.isIntValue()); // true
print(doubleValue.isIntValue()); // false
}
extension WholeNumber on num {
bool isIntValue() => (this % 1) == 0;
}
- 使用toInt方法
使用toInt 方法对给定的数字进行截断。如果给定的数字是11.12,toInt返回int数字,即11。检查原始值和结果,如果两者相等,就是一个整数。
下面是一个示例程序
void main() {
num intValue = 12;
num doubleValue = 11.12;
print(intValue.isIntValue()); // true
print(doubleValue.isIntValue()); // false
}
extension WholeNumber on num {
bool isIntValue() => this ==this.toInt();
}
总结
有多种方法可以检查给定的数字是整数还是小数,在下面的dart例子中的方法:
- 使用toInt方法
- dart是运算器
- 使用模数运算符