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

2023年 7月 13日 40.2k 0

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

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论