I write currency trading applications for living, so I have to work with monetary values (it\'s a shame that Java still doesn\'t have decimal float type and has nothing to s
On a 64bit JVM creating your BigDecimal as below makes it about 5x faster:
BigDecimal bd = new BigDecimal(Double.toString(d), MathContext.DECIMAL64);