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 | 丢弃小数位后返回一个整数。 | 
