added fromDecimalPrecise()