: MIDRANGE dot COM Mailing List Archive

RE: DecimalFormat


AddThis Feed Button


The first problem I can't help with, Wayne, since it's intermittent and I've
never seen anything like it, but the second problem is pretty simple.  In
order to round up to two decimal places, just add .005 prior to the
rounding.  To round one decimal place, add .05, to round three places, add
.0005.  For example:

n2 = Float.parseFloat(two.format(n2 + .005));

Hope this helps a little.

Joe

> -----Original Message-----
> From: Xu, Weining
>
> I use DecimalFormat to round float variables into either two decimals or
> zero decimal by using:
> DecimalFormat two = new DecimalFormat("0.00");
> DecimalFormat zero = new DecimalFormat("0.");
>
> if I have:
> float n1 = 1.245, n2 =0;
> n1 = Float.parseFloat(zero.format(n1));
> n2 = Float.parseFloat(zero.format(n2));
>
> I have two problems here:
> 1)  for the zero decimal format, if the float variable is 0.0, like n2.
> sometimes (again not always) the formatted value is 1, not 0 as
> expected ( I
> debugged and found that
>      zero.format(n2))  return a string of 1.   I have tried use
> DecimalFormat("#."),  without dot as DecimalFormat("#").  They
> all have the
> same results. Anything wrong here?
>
> 2)  for two decimal format, 1.245 would return 1.24 rather than 1.25. This
> is what JAVA API says it's suppose be.   I need to round the
> number to 1.25.
> What should I do?
>
> Should I use other method to round the numbers?  What that will be?





Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2007 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact

.

counter