如何在Dart中获取整数的最大值?

3

在Java中,我们可以使用Integer.maxValue方法来获取最大整数值,但在Dart中没有这种方法。

我正在使用int max = 1<<32的方式,但当编译成JavaScript时,这种方式无法正常工作。

在Dart语言中,获取整数的最大值的最佳方式是什么?


可能是什么是dart中的整数最大值?的重复问题。 - jamesdlin
这不是重复的,因为它只有理论,没有代码。 - Daniel Oliveira
我不明白,这个问题是一个重复的问题。你的意思是你不知道如何将理论转化为代码吗?另外,答案是没有跨平台的方法来获取最大整数值。 - jamesdlin
问题不同。第一个问题问的是最大尺寸,我的问题是如何实现它。但是对于我的问题,答案是“没有办法”,所以我能做的事情不多。 - Daniel Oliveira
1
我认为这种区别微不足道,不值一提。或者换句话说:Dart中是否有用于最大/最小int/double值的常量? - jamesdlin
显示剩余2条评论
3个回答

3

我在我的应用程序中使用dart_numerics软件包,因为另一个原因而发现它,当时我正在输入时发现了它。

enter image description here


0
double.maxFinite.toInt() // e.g. 9223372036854775807 on x86_64

0

没有方法,因为int的最大值是固定的。 根据文档:

整数:虽然语言规定了任意大小的整数, 但出于性能考虑,VM具有三种不同的内部整数表示形式:smi(与pie押韵),mint和bigint。每个表示形式用于保存不同范围的整数(请参见表格)。随着数字的增长和缩小,VM会在幕后自动在这些表示形式之间切换。

您可以在此处阅读相关信息:https://dart.dev/articles/archive/numeric-computation


2
最大值并不是固定的,答案取决于Dart是否编译为VM / runtime或JavaScript。在后一种情况下,“int”被表示为浮点数,因此“最大值”是模糊的。请参见https://api.dartlang.org/stable/2.4.0/dart-core/int-class.html。 - jamesdlin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接