# BigDecimal class

A wrapper class for precise decimal arithmetic.

This class provides arbitrary precision decimal arithmetic similar to Java's BigDecimal. It uses Dart's built-in support for arbitrary precision integers and implements decimal arithmetic on top of it.

Example usage:

    BigDecimal a = BigDecimal("123.456");
    BigDecimal b = BigDecimal("78.9");
    BigDecimal sum = a + b;

    print(sum.toString()); // "202.356"
    print(sum.setScale(2)); // "202.36" (rounded)

Implemented types
  - Comparable<BigDecimal>

## Constructors

BigDecimal.new(String value)
  Creates a BigDecimal from a string representation.
  factory
BigDecimal.fromDouble(double value)
  Creates a BigDecimal from a double value.
  factory
BigDecimal.fromInt(int value)
  Creates a BigDecimal from an integer value.
  factory

## Properties

hashCode → int
  Returns the hash code for this BigDecimal.
  no setter override
precision → int
  Returns the precision (total number of digits).
  no setter
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
scale → int
  Returns the scale (number of digits after decimal point).
  no setter
unscaledValue → BigInt
  Returns the unscaled value as a BigInt.
  no setter

## Methods

abs() → BigDecimal
  Returns the absolute value of this BigDecimal.
compareTo(BigDecimal other) → int
  Compares this BigDecimal with another.
  override
divide(BigDecimal other, [int? resultScale]) → BigDecimal
  Divides this BigDecimal by another.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
setScale(int newScale) → BigDecimal
  Returns a BigDecimal with the specified scale.
toDouble() → double
  Converts to double (may lose precision).
toString() → String
  Returns a string representation of this BigDecimal.
  override

## Operators

operator *(BigDecimal other) → BigDecimal
  Multiplies this BigDecimal by another.
operator +(BigDecimal other) → BigDecimal
  Adds another BigDecimal to this one.
operator -(BigDecimal other) → BigDecimal
  Subtracts another BigDecimal from this one.
operator <(BigDecimal other) → bool
  Comparison operators
operator <=(BigDecimal other) → bool
operator ==(Object other) → bool
  Returns true if this BigDecimal equals the specified object.
  override
operator >(BigDecimal other) → bool
operator >=(BigDecimal other) → bool
operator unary-() → BigDecimal
  Returns the negation of this BigDecimal.

## Static Properties

ONE → BigDecimal
  This creates a BigDecimal with value 1.
  final
TEN → BigDecimal
  This creates a BigDecimal with value 10.
  final
ZERO → BigDecimal
  This creates a BigDecimal with value 0.
  final