An arbitrarily large integer value.
Big integers are signed and can have an arbitrary number of significant digits, only limited by memory.
To create a big integer from the provided number, use BigInt.from.
var bigInteger = BigInt.from(1); // 1
bigInteger = BigInt.from(0.9999); // 0
bigInteger = BigInt.from(10.99); // 10
bigInteger = BigInt.from(0x7FFFFFFFFFFFFFFF); // 9223372036854775807
bigInteger = BigInt.from(1e+30); // 1000000000000000019884624838656
To parse a large integer value from a string, use parse or tryParse.
var value = BigInt.parse('0x1ffffffffffffffff'); // 36893488147419103231
value = BigInt.parse('12345678901234567890'); // 12345678901234567890
To check whether a big integer can be represented as an int without losing precision, use isValidInt.
print(bigNumber.isValidInt); // false
To convert a big integer into an int, use toInt. To convert a big integer into an double, use toDouble.
var bigValue = BigInt.from(10).pow(3);
print(bigValue.isValidInt); // true
print(bigValue.toInt()); // 1000
print(bigValue.toDouble()); // 1000.0
See also:
 Implemented types
Constructors
 BigInt.from(num value)

Creates a big integer from the provided
value
number.factory
Properties
 bitLength → int

Returns the minimum number of bits required to store this big integer.
no setter
 hashCode → int

The hash code for this object.
no setterinherited
 isEven → bool

Whether this big integer is even.
no setter
 isNegative → bool

Whether this number is negative.
no setter
 isOdd → bool

Whether this big integer is odd.
no setter
 isValidInt → bool

Whether this big integer can be represented as an
int
without losing precision.no setter  runtimeType → Type

A representation of the runtime type of the object.
no setterinherited
 sign → int

Returns the sign of this big integer.
no setter
Methods

abs(
) → BigInt  Returns the absolute value of this integer.

compareTo(
BigInt other) → int 
Compares this to
other
.override 
gcd(
BigInt other) → BigInt 
Returns the greatest common divisor of this big integer and
other
. 
modInverse(
BigInt modulus) → BigInt 
Returns the modular multiplicative inverse of this big integer
modulo
modulus
. 
modPow(
BigInt exponent, BigInt modulus) → BigInt 
Returns this integer to the power of
exponent
modulomodulus
. 
noSuchMethod(
Invocation invocation) → dynamic 
Invoked when a nonexistent method or property is accessed.
inherited

pow(
int exponent) → BigInt 
Returns
this
to the power ofexponent
. 
remainder(
BigInt other) → BigInt 
Returns the remainder of the truncating division of
this
byother
. 
toDouble(
) → double  Returns this BigInt as a double.

toInt(
) → int  Returns this BigInt as an int.

toRadixString(
int radix) → String 
Converts this to a string representation in the given
radix
. 
toSigned(
int width) → BigInt 
Returns the least significant
width
bits of this integer, extending the highest retained bit to the sign. This is the same as truncating the value to fit inwidth
bits using an signed 2s complement representation. The returned value has the same bit value in all positions higher thanwidth
. 
toString(
) → String 
Returns a Stringrepresentation of this integer.
override

toUnsigned(
int width) → BigInt 
Returns the least significant
width
bits of this big integer as a nonnegative number (i.e. unsigned representation). The returned value has zeros in all bit positions higher thanwidth
.
Operators

operator %(
BigInt other) → BigInt  Euclidean modulo operator.

operator &(
BigInt other) → BigInt  Bitwise and operator.

operator *(
BigInt other) → BigInt 
Multiplies
other
by this big integer. 
operator +(
BigInt other) → BigInt 
Adds
other
to this big integer. 
operator (
BigInt other) → BigInt 
Subtracts
other
from this big integer. 
operator /(
BigInt other) → double  Double division operator.

operator <(
BigInt other) → bool 
Whether this big integer is numerically smaller than
other
. 
operator <<(
int shiftAmount) → BigInt 
Shift the bits of this integer to the left by
shiftAmount
. 
operator <=(
BigInt other) → bool 
Whether
other
is numerically greater than this big integer. 
operator ==(
Object other) → bool 
The equality operator.
inherited

operator >(
BigInt other) → bool 
Whether this big integer is numerically greater than
other
. 
operator >=(
BigInt other) → bool 
Whether
other
is numerically smaller than this big integer. 
operator >>(
int shiftAmount) → BigInt 
Shift the bits of this integer to the right by
shiftAmount
. 
operator ^(
BigInt other) → BigInt  Bitwise exclusiveor operator.

operator unary(
) → BigInt  Return the negative value of this integer.

operator (
BigInt other) → BigInt  Bitwise or operator.

operator ~(
) → BigInt  The bitwise negate operator.

operator ~/(
BigInt other) → BigInt  Truncating integer division operator.