Dart int
最后修改日期:2025 年 6 月 4 日
在 Dart 中,int 类型表示整数。整数是没有小数部分的完整数字。int 类型是 Dart 的内置基本类型之一。
Dart 整数可以任意大,仅受可用内存限制。在 Web 上,由于 JavaScript 的数字表示,整数限制为 64 位。
基本整数声明
创建整数最简单的方法是使用整数字面量。
main.dart
void main() {
int age = 35;
int temperature = -10;
int population = 8000000000;
print(age);
print(temperature);
print(population);
}
我们声明三个具有不同值的整数。Dart 支持正整数和负整数。大数字可以使用下划线来提高可读性。
$ dart main.dart 35 -10 8000000000
整数运算
Dart 支持整数的標準算術運算。
main.dart
void main() {
int a = 10;
int b = 3;
print(a + b); // Addition
print(a - b); // Subtraction
print(a * b); // Multiplication
print(a ~/ b); // Integer division
print(a % b); // Modulo
print(a & b); // Bitwise AND
}
这展示了基本的算术运算。请注意整数除法的 ~/ 运算符。常规除法 (/) 即使在操作数为整数时也会返回一个 double。
$ dart main.dart 13 7 30 3 1 2
整数属性和方法
int 类型提供了有用的属性和方法来进行数字操作。
main.dart
void main() {
int num = 42;
print(num.isEven); // true
print(num.isOdd); // false
print(num.isNegative); // false
print(num.abs()); // 42
print(num.toDouble()); // 42.0
print(num.toString()); // "42"
print(num.bitLength); // 6
}
我们检查了几个属性和方法。isEven/isOdd 检查奇偶性,abs 获取绝对值,bitLength 返回表示该数字所需的最小位数。
$ dart main.dart true false false 42 42.0 42 6
整数解析
Dart 提供了从字符串解析整数的方法,并带有错误处理。
main.dart
void main() {
String numStr = "1234";
String invalidStr = "12a34";
int parsed1 = int.parse(numStr);
print(parsed1);
int? parsed2 = int.tryParse(invalidStr);
print(parsed2);
int hex = int.parse("FF", radix: 16);
print(hex);
}
parse 会对无效输入抛出 FormatException,而 tryParse 返回 null。radix 参数支持解析不同的进制(2-36)。
$ dart main.dart 1234 null 255
整数范围和限制
Dart 整数具有平台相关的尺寸限制,我们可以进行检查。
main.dart
void main() {
print("Max 64-bit signed int: ${1 << 63 - 1}");
print("Min 64-bit signed int: ${-1 << 63}");
BigInt hugeNum = BigInt.parse("123456789012345678901234567890");
print(hugeNum);
int regularInt = 9007199254740991; // Max safe JS integer
print(regularInt);
}
对于超过 64 位范围的数字,请使用 BigInt。在 Web 平台上,由于 JavaScript 的数字表示,整数限制为 53 位。
$ dart main.dart Max 64-bit signed int: 9223372036854775807 Min 64-bit signed int: -9223372036854775808 123456789012345678901234567890 9007199254740991
最佳实践
- 类型推断:当类型从上下文中明显时,请使用
var。 - 可读性:在大数字中使用下划线(1_000_000)。
- 错误处理:对于用户输入,请优先使用
tryParse而不是parse。 - 性能:在适当的时候使用
int而不是double。
来源
本教程介绍了 Dart 的 int 类型,并提供了实际示例,演示了其功能和用法模式。
作者
列出 所有 Dart 教程。