public abstract double doubleValue();
public static BigDecimal toDecimal(Number self) { if (self is BigDecimal) { return((BigDecimal)self); } //if (self is Long) return BigDecimal.valueOf(self.longValue()); return(BigDecimal.valueOf(self.doubleValue())); }