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); }
执行上面示例代码,得到以下结果:
10 10.5
注 - 如果将小数值分配给整数变量,Dart VM将抛出异常。
parse()
静态函数用于将包含数字文字的字符串解析为数字。如下面代码所示 -
void main() { print(num.parse('12')); print(num.parse('10.91')); }
执行上面示例代码,得到以下结果 -
12 10.91
如果传递除数字以外的值,则解析函数将抛出FormatException
。以下代码显示如何将字母数字值传递给parse()
函数。
void main() { print(num.parse('1A')); print(num.parse('Abc')); }
执行上面示例代码,得到以下结果 -
$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.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:255) #3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:142)
下表列出了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 | 丢弃小数位后返回一个整数。 |