jQuery in Action, 3rd edition
The moose likes Beginning Java and the fly likes Return a true integer Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Return a true integer" Watch "Return a true integer" New topic

Return a true integer

Steve Dyke
Ranch Hand

Joined: Nov 16, 2004
Posts: 1562
dResults2[3] is 4.000

I am tying to use to get 4 to use in a loop:

int x = Integer.parseInt(dResults2[3]);

What am I doing wrong?
marc weber

Joined: Aug 31, 2004
Posts: 11343

The parseInt method takes a String argument. What is the type of dResults2[3]? If it's a primitive floating point (float or double), then just use an explicit cast (which will truncate)...

int x = (int)dResults2[3];
[ December 27, 2007: Message edited by: marc weber ]

"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46362
Having seen Marc Weber's post:
You mean

x = (int)Double.parseDouble(dResult2[3]);


Is there any risk that Double.parseDouble("4.000") could return 3.99999999999999999? I which case you will get an out-by-one error when it casts to 3. Just as you don't use floating-point arithmetic for money, you don't want to use it in "for" loops.
I agree. Here's the link: http://aspose.com/file-tools
subject: Return a true integer
It's not a secret anymore!