前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >同时搞定Android和iOS的Dart语言(3):数值类型

同时搞定Android和iOS的Dart语言(3):数值类型

作者头像
蒙娜丽宁
发布2020-08-12 10:38:57
1.3K0
发布2020-08-12 10:38:57
举报
文章被收录于专栏:极客起源极客起源

Dart语言的数值类型非常简单,只有两个类型:int和double。其中int表示64位整数类型,double表示双精度浮点数。int和double的基本用法如下:

代码语言:javascript
复制
int x = 20;
print(x);
double y = 20.12;
print(y);
print(x + y);    // 整数与浮点数相加的结果是浮点数

一旦变量的数据类型确定为int,那么就不能将一个浮点数或其他类型的值赋给这个变量,例如,下面的代码会抛出编译错误。

代码语言:javascript
复制
int x = 20;
//x = 12.4;     // 抛出编译错误,无法将一个浮点数赋给一个int类型的变量
但可以将一个整数赋给一个double类型的变量,例如,下面的代码是正确的。double y = 20.12;
y = 40;

在Dart语言中有一个num类型,该类型既可以表示int类型,也可以表示double类型。也就是说,如果将一个变量声明为num类型,那么该变量既可以赋int类型的值,也可以赋double类型的值,代码如下:

代码语言:javascript
复制
num k = 20;
k = 40.12;                         // 将int类型变为double类型
print(k.runtimeType.toString());     // 输出double

int类型支持十六进制表示法和科学计数法,代码如下:

代码语言:javascript
复制
var hex = 0xABCD;              // 十六进制标识符
print(hex);                    // 按十进制输出,结果是43981
var v = 1.42e5;                // 科学计数法
print(v);                      // 输出结果:142000.0

下面的本例演示了内建数值类型更详细的用法。

代码语言:javascript
复制
void main() {
  // x的值是int类型能表示的最大整数值
  int x = 9223372036854775807;
 
  print('x = $x');
  // 输出x的位长度,结果是63
  print('x.bitLength = ${x.bitLength}');
  double y = 20.4;
  // 输出变量y,其中通过$可以在字符串中嵌入变量,这些内容会在字符串一节中详细介绍
  print('y = $y');
  num k = 20;
  print('k = $k');
  print(k.runtimeType.toString());
  k = 30.12;
 
  print('k = $k');
  print(k.runtimeType.toString());
 
  var a = 20;
  print(a.runtimeType.toString());
 
  const b = 40.2;
  print(b.runtimeType.toString());
  // 定义十六进制数
  var hex = 0xABC;
  print('hex = $hex');
  print(hex.runtimeType.toString());
  // 使用科学计数法定义整数
  var c = 1.42e5;
  print('c = $c');
  // 将字符串'1'转换为int类型的值
  var one = int.parse('1');
  print('one = $one');
  print(one.runtimeType.toString());
  // 将字符串'1.2'转换为double类型的值
  var onePointTwo = double.parse("1.2");
  print(onePointTwo.runtimeType.toString());
  // 将整数1转换为String类型的值
  var oneString = 1.toString();
  // 将浮点数3.1415926转换为String类型的值
  var piString = 3.1415926.toString();
  print(piString.runtimeType.toString());
  print(a + b * c);
 
}

运行结果如图1所示。

图1 数值类型用法演示

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极客起源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档