@Override
	public String toString() {
		if (isNan()) {
			return "Nan";
		} else if (isPositiveInfinite()) {
			return "PositiveInfinite";
		} else if (isNegativeInfinite()) {
			return "NegativeInfinite";
		} else {
			BigDecimal r = this.getBigDecimal();
			if (r.equals(0)) {
				if (negative)
					return "-0";
				else
					return "0";
			} else
				return r.toString();
		}
	}