Java BigDecimal : How to fortmat BigDecimal -
i'm using bigdecimal counting big real number. although have try 2 method : bigdecimal.tostring() or bigdecimal.striptrailingzeros().tostring(), still not sasitfy requirement.
for example if use striptrailingzeros: 4.3000 becomes 4.3 4.0 becomes 4.0 not 4. both above methods cannot sastisty conditions. so, question : how done in java ?
thanks :)
you can use decimalformat follows:
bigdecimal = new bigdecimal("4.3000"); bigdecimal b = new bigdecimal("4.0"); decimalformat f = new decimalformat("#.#"); f.setdecimalseparatoralwaysshown(false) f.setmaximumfractiondigits(340); system.out.println(f.format(a)); system.out.println(f.format(b)); which prints
4.3 4 as bhashit pointed out, default number of fractional digits 3, can set maximum of 340. wasn't aware of behaviour of decimalformat. means if need more 340 fractional digits, you'll have manipulate string given tostring() yourself.
Comments
Post a Comment