-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
In #30 I already mentioned that intValue
returns positive values for negative BigInteger
s.
I've been using the method a little more, and the results are staggering, so to say.
print(new BigInteger("5000000000").intValue()); // 705032704
print(new BigInteger("705032704").intValue()); // 705032704
print(new BigInteger("7050327040").intValue()); // 2755359744
print(new BigInteger("4755359744").intValue()); // 460392448
JS does not support large integers, so for JS, strange results for large numbers would be no surprise, but these are in the Dart VM.
Since many people already rely on this package, this must be fixed soon. I'd suggest maybe to completely change the implementation, to something more generic like BigInt from the decimal package:
https://github.com/a14n/dart-rational/blob/master/lib/bigint.dart
Metadata
Metadata
Assignees
Labels
No labels