【Dart 学习 二】数字Number

Dart中的数字类型用于表示数字文字
数字有两种形式int整数和double浮点数

int整数

整数 - 整数值表示非小数值,即没有小数点的数值。
例如,10是整数。使用int关键字表示整数文字
int 的取值范围是 -2^63 ~ 2^63 - 1

1
2
3
4
5
6
7
8
void main() {
var x = 123;
var hex = 0xDEADBEEF;
print(x); //打印结果:123
print(x.runtimeType); //打印结果:int
print(hex); //打印结果:3735928559
print(hex.runtimeType); //打印结果:int
}

double双精度数

Dart还支持小数数值,即带小数点的值
Dart中的Double数据类型表示64位(双精度)浮点数
例如,10.10。关键字double用于表示浮点文字

1
2
3
4
5
6
7
8
9
10
11
12
13
void main() {
var y = 1.199;
var exponents = 1.42e5;
print(y); //打印结果:1.199
print(y.runtimeType); //打印结果:double
print(exponents); //打印结果:142000.0
print(exponents.runtimeType); //打印结果:double

//从Dart 2.1开始,必要时整数文字会自动转换为双精度数:
double x = 10; //相当于 double z = 10.0.
print(x); //打印结果:10.0
print(x.runtimeType); //打印结果:double
}

字符串string转为整数int或者双精度数double

string –> int

1
2
3
4
5
6
void main() {
// String 转为 int
var one = int.parse('1');
print(one); //打印结果:1
print(one.runtimeType);//打印结果:int
}

string –> double

1
2
3
4
5
6
void main() {
// String 转为 double
var one = double.parse('1.9');
print(one); //打印结果:1.9
print(one.runtimeType);//打印结果:double
}

整数int或者双精度数double转为字符串string

1
2
3
4
5
6
7
8
9
10
11
12
13
void main() {
// int 转为 toString
var one =10.toString();
print(one); //打印结果:10
print(one.runtimeType);//打印结果:String
// double 转为 toString
var x =10.9.toString();
print(x); //打印结果:10.9
print(x.runtimeType);//打印结果:String
var piAsString = 3.14559.toStringAsFixed(2); //小数保留2位,并小数点后面的数字自动四舍五入
print(piAsString); //打印结果:3.15
print(piAsString.runtimeType); // 打印结果:String
}

int特征:按位运算

int类型指定传统的按位移位(<<,>>),AND(&)和OR(|)运算符。例如

1
2
3
4
5
void main() {
print((3 << 1) == 6); // 0011 << 1 == 0110
print((3 >> 1) == 1); // 0011 >>1 == 0001
print((3 | 4) == 7); // 0011 | 0100 == 0111
}