Ano, typy Oracle NUMBER jsou přesné. Jsou to spíše celá čísla se stupnicí než typy float/double. Takže NUMBER(10,3) má 10 číslic, 3 za desetinnou čárkou, což je ve skutečnosti 10místné celé číslo s měřítkem 3. Ve skutečnosti je to přesně to, jak Java BigDecimals fungují (jsou to BigInteger plus měřítko interně).