Dart數字

Dart數字可歸類為 -

  • int數據類型 - 任意大小的整數,int數據類型用於表示整數。
  • double數據類型 - 64位(雙精度)浮點數,由IEEE 754標準規定。double數據類型用於表示小數。

num類型被intdouble類型繼承。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 返回-10或加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 丟棄小數位後返回一個整數。

上一篇: Dart迴圈語句 下一篇: Dart字串