Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

DecimalFormat not rounding with HALF_EVEN mode

 
Raj Ohadi
Ranch Hand
Posts: 316
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


The ouput is 500. It means it just simply truncates the digits after decimal. How do I use the Decimal pattern like
"###0;-###0" to indicate it has no decimal but maintain an half-even rounding mode ? I read the DecimalFormat API and it says its default rounding mode is half-even. But it seems this rounding is not applied here.

Please help.
 
Winston Gutkowski
Bartender
Pie
Posts: 10109
56
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Raj Ohadi wrote:I read the DecimalFormat API and it says its default rounding mode is half-even.

I'm an old printf() fan (String.format() works the same way BTW), and with that you'd use:but I can't help much with DecimalFormat because I'm no expert. I suspect it has far more options; with printf()/String.format() you have to accept its default rounding (whatever that is; probably half-even too).

Winston
 
Campbell Ritchie
Sheriff
Posts: 48415
56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Winston Gutkowski wrote: . . its default rounding (whatever that is; probably half-even too).

Winston
I think it’s half away from zero, but I’m not certain.
 
Campbell Ritchie
Sheriff
Posts: 48415
56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have checked in the Formatter class; for %e it says[quot]ethe value will be rounded using the round half up algorithm.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic