it depends, try this
BigDecimal bd = new BigDecimal("1694.50");
System.out.println(bd);
output
1694.50
but this
BigDecimal bd = new BigDecimal(1694.50);
System.out.println(bd);
produces
1694.5
and this
BigDecimal bd = new BigDecimal("1694.50");
System.out.printf("%.3f", bd);
prints
1694.500