Welcome Guest ( Log In | Register)



 
Reply to this topicStart new topic
> J2me Limitations In Number Formatting, Can anyone provide a solution
darran
post Jan 7 2007, 01:43 PM
Post #1


Privileged Member
*********

Group: Members
Posts: 661
Joined: 31-August 06
From: Singapore
Member No.: 29,189



I am doing a J2ME application which involves the mathematical manipulation of datatypes integer and double. So the end result would be something like 1.2856 and I would like to round it or truncate, whichever you call it to something along the lines of 1.29. I have tried looking around but realised in J2ME I can't make use of the NumberFormat package to handle this like I do in J2SE.

Can anyone provide an alternative solution?
Go to the top of the page
 
+Quote Post
githoko
post Jan 8 2007, 08:00 AM
Post #2


Newbie [Level 1]
*

Group: Members
Posts: 11
Joined: 5-January 07
Member No.: 36,592



QUOTE(darran @ Jan 7 2007, 03:43 PM) *

I am doing a J2ME application which involves the mathematical manipulation of datatypes integer and double. So the end result would be something like 1.2856 and I would like to round it or truncate, whichever you call it to something along the lines of 1.29. I have tried looking around but realised in J2ME I can't make use of the NumberFormat package to handle this like I do in J2SE.

Can anyone provide an alternative solution?


Have you tried the concrete implementation of NumberFormat, DecimalFormat in java.text, or by you can't make use of NumberFormat, you mean all it's subclasses?
Go to the top of the page
 
+Quote Post
darran
post Jan 8 2007, 12:41 PM
Post #3


Privileged Member
*********

Group: Members
Posts: 661
Joined: 31-August 06
From: Singapore
Member No.: 29,189



I can't use java.text, it is not an available package for me to make use of. Is there anything else I could do?
Go to the top of the page
 
+Quote Post
githoko
post Jan 10 2007, 06:31 AM
Post #4


Newbie [Level 1]
*

Group: Members
Posts: 11
Joined: 5-January 07
Member No.: 36,592



QUOTE(darran @ Jan 8 2007, 02:41 PM) *

I can't use java.text, it is not an available package for me to make use of. Is there anything else I could do?



String number = String.valueOf(2.34566);//turn number to string

String afterDecimalPoint = number.split("(.)")[1];//split the number after the decimal point
//and take the digits after that.
number = afterDecimalPoint;

number = (number.length() > 4 ? number.substring(0,4) : number);//cut it to the number of digits you
//want plus one.

char[] digits = number.toCharArray();//split it into a char array containing a single digit at each index

//this part is an attempt to round up the number.

int lastDigitsValue = new Integer(new String(digits[3])).intValue();//convert last digit to int.


if(lastDigitsValue > 4) { //if it's bigger than four,i.e if it 5 and upwards then

int secondLastDigitsValue = new Integer(new String(digits[2])).intValue(); //get the second last digit

digits[2] = new String((++secondLastDigitsValue)+"").toCharArray()[0]; // increase it by 1;

}

String finalNumber = digits[0]+digits[1]+digits[2]; //Put them back together without the extra digit.

if you want : double numb = Double.parseDouble(finalNumber); //to get it back to being a double

Go to the top of the page
 
+Quote Post
darran
post Jan 11 2007, 12:57 PM
Post #5


Privileged Member
*********

Group: Members
Posts: 661
Joined: 31-August 06
From: Singapore
Member No.: 29,189



I didn't think a coding of a method was necessary for a simple arithmetic function such as rounding up to 2 decimal points. But nonetheless, I will try this set of code over the weekend when I have more time to spare. Thanks for the effort though
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

Collapse

> Similar Topics

Topics Topics
  1. J2me, Good Sites?(3)


 



- Lo-Fi Version Time is now: 5th September 2008 - 07:33 AM