Dart数字可归类为 -
int
数据类型 - 任意大小的整数,int
数据类型用于表示整数。double
数据类型 - 64位(双精度)浮点数,由IEEE 754标准规定。double
数据类型用于表示小数。
num
类型被int
和double
类型继承。dart核心库允许对数值进行大量操作。
声明数字的语法如下 -
int var_name; // declares an integer variable
double var_name; // declares a double variable
示例
void main() {
int num1 = 10;
// declare an integer
double num2 = 10.50;
// declare a double value
print(num1);
print(num2);
}
Dart
执行上面示例代码,得到以下结果:
10
10.5
Shell
注 - 如果将小数值分配给整数变量,Dart VM将抛出异常。
解析
parse()
静态函数用于将包含数字文字的字符串解析为数字。如下面代码所示 -
void main() {
print(num.parse('12'));
print(num.parse('10.91'));
}
Dart
执行上面示例代码,得到以下结果 -
12
10.91
Shell
如果传递除数字以外的值,则解析函数将抛出FormatException
。以下代码显示如何将字母数字值传递给parse()
函数。
void main() {
print(num.parse('1A'));
print(num.parse('Abc'));
}
Shell
执行上面示例代码,得到以下结果 -
$dart main.dart
Unhandled exception:
FormatException: 1A
#0 num.parse (dart:core/num.dart:446)
#1 main (file:///home/cg/root/9658342/main.dart:2:14)
#2 _startIsolate. (dart:isolate-patch/isolate_patch.dart:255)
#3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:142)
Shell
数字属性
下表列出了Dart数字支持的属性。
编号 | 属性 | 描述 |
---|---|---|
1 | hashcode | 返回数值的哈希码。 |
2 | isFinite | 如果数字有限,则返回为true ; 否则返回false 。 |
3 | isInfinite | 如果数字为正无穷大或负无穷大,则返回为true ; 否则返回false 。 |
4 | isNan |
如果数字是double 非数字值,则返回为true ; 否则返回false 。 |
5 | isNegative | 如果数字为负,则返回为true ; 否则返回false 。 |
6 | sign | 返回-1 ,0 或加1 ,具体取决于数字的符号和数值。 |
7 | isEven | 如果数字是偶数,则返回为true ; 否则返回false 。 |
8 | isOdd | 如果数字是奇数,则返回为true ; 否则返回false 。 |
数字方法
以下是数字支持的常用方法列表 -
编号 | 方法 | 描述 |
---|---|---|
1 | abs | 返回数字的绝对值。 |
2 | ceil | 返回不小于该数字的最小整数。 |
3 | compareTo | 将此与其他数字进行比较。 |
4 | floor | 返回不大于当前数字的最大整数。 |
5 | remainder | 除以两个数后,返回截断的余数。 |
6 | round | 返回最接近当前数字的整数。 |
7 | toDouble | 返回数字的double 等效值。 |
8 | toInt | 返回数字的int 等效值。 |
9 | toString | 返回数字的字符串等效表示形式。 |
10 | truncate | 丢弃小数位后返回一个整数。 |