Dart语言教程:int/double数字的属性和处理方法

2019年6月22日15:03:03 发表评论 607 views

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); 
}
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.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:255)
#3      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:142)
Shell

数字属性

下表列出了Dart数字支持的属性。

编号属性描述
1hashcode返回数值的哈希码。
2isFinite如果数字有限,则返回为true; 否则返回false
3isInfinite如果数字为正无穷大或负无穷大,则返回为true; 否则返回false
4isNan如果数字是double非数字值,则返回为true; 否则返回false
5isNegative如果数字为负,则返回为true; 否则返回false
6sign返回-10或加1,具体取决于数字的符号和数值。
7isEven如果数字是偶数,则返回为true; 否则返回false
8isOdd如果数字是奇数,则返回为true; 否则返回false

数字方法

以下是数字支持的常用方法列表 -

编号方法描述
1abs返回数字的绝对值。
2ceil返回不小于该数字的最小整数。
3compareTo将此与其他数字进行比较。
4floor返回不大于当前数字的最大整数。
5remainder除以两个数后,返回截断的余数。
6round返回最接近当前数字的整数。
7toDouble返回数字的double等效值。
8toInt返回数字的int等效值。
9toString返回数字的字符串等效表示形式。
10truncate丢弃小数位后返回一个整数。

原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/dart/dart_programming_numbers.html#article-start

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: