Dominic Steng�rd

Ranch Hand

Posts: 186

posted 15 years ago

Hi all math foks!

I want to find a nice and small algorithm for converting double/float values like 2.29 -> 2.3 or 8.33 -> 8.3 ...

I have a solution but I'm not satisfied with it ... have you got any ideas?

Thanks in advance!

Regards

I want to find a nice and small algorithm for converting double/float values like 2.29 -> 2.3 or 8.33 -> 8.3 ...

I have a solution but I'm not satisfied with it ... have you got any ideas?

Thanks in advance!

Regards

Dominic Steng�rd<br />Sun Certified Java 2 Programmer

Marilyn de Queiroz

Sheriff

Posts: 9079

12

posted 15 years ago

How about using the Math.round() method.

JavaBeginnersFaq

"Yesterday is history, tomorrow is a mystery, and today is a gift; that's why they call it the present." Eleanor Roosevelt

Dominic Steng�rd

Ranch Hand

Posts: 186

Dominic Steng�rd

Ranch Hand

Posts: 186

posted 15 years ago

the solution I have figured out is this:

double i = 7;

double j = 4;

double sum = j/i * 100;

int tal = (int) sum;

double decimal = Math.round((sum - tal) * 10);

decimal = decimal/10;

sum = tal + decimal;

but it seems like alot of code for such a small operation ...

double i = 7;

double j = 4;

double sum = j/i * 100;

int tal = (int) sum;

double decimal = Math.round((sum - tal) * 10);

decimal = decimal/10;

sum = tal + decimal;

but it seems like alot of code for such a small operation ...

Dominic Steng�rd<br />Sun Certified Java 2 Programmer

Marilyn de Queiroz

Sheriff

Posts: 9079

12

posted 15 years ago

double d = Math.round(2.29 * 10)/10.0

??

**2.29 -> 2.3**

double d = Math.round(2.29 * 10)/10.0

??

"Yesterday is history, tomorrow is a mystery, and today is a gift; that's why they call it the present." Eleanor Roosevelt

Dominic Steng�rd

Ranch Hand

Posts: 186

Steve Deadsea

Ranch Hand

Posts: 125

posted 15 years ago

I wrote a Significant Figures class that can do rounding like this. I found that when a number is to be displayed, its easiest to manipulate it in String format. You can find the class and source here:

http://ostermiller.org/utils/SignificantFigures.html

http://ostermiller.org/utils/SignificantFigures.html