jQuery in Action, 2nd edition*
The moose likes Beginning Java and the fly likes just basic division Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Beginning Java
Bookmark "just basic division" Watch "just basic division" New topic
Author

just basic division

darius vaas
Greenhorn

Joined: May 07, 2007
Posts: 4
it's simple! i can't do division!

if i try: float x = 5/2;
the result is: 2.0

how will i get: 2.5
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42028
    
  64
Welcome to JavaRanch.

Both 5 and 2 are integers, therefore the '/' operator assumes you want integer division. Try 5.0/2.0 .


Ping & DNS - my free Android networking tools app
darius vaas
Greenhorn

Joined: May 07, 2007
Posts: 4
thank's! (yes i'm complete newby)

actualy that didn't work as i derived two numbers from dates and i had to divide them. but with your answer in mind i recognized i have to change the type. so i did: double z = (double) x / (double) y

again, thank's for the (swift) answer
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39044
    
  23
You could try "x = 0.0f + 5 / 2;" See whether that works
darius vaas
Greenhorn

Joined: May 07, 2007
Posts: 4
no, that's not working. only double does the trick. but there is another problem: 79.39767282683093 is a bit toooo long for me, how can it be truncated to let's say 79.397?
Andris Jekabsons
Ranch Hand

Joined: Jan 20, 2004
Posts: 82
You cannot really round a number. If you want to display it a screen (paper, etc), you have to use NumberFormat class. Run this code to see what it does:Explore API for other functionality/subclasses of this class.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39044
    
  23
Try "x = 1.0 * 2 / 5;" then.
Try "System.out.printf("My number is %.3f", z);"

Look up the java.util.Formatter class, and find the methods Formatter.format, String.format, PrintStream.format and PrintStream.printf, which all take the same sort of arguments.
darius vaas
Greenhorn

Joined: May 07, 2007
Posts: 4
problem solved!
thank's everyone for help and i'm quite sure i will need your help again soon. 'till then be well!
[ May 07, 2007: Message edited by: darius vaas ]
Casey Buresh
Greenhorn

Joined: Oct 03, 2006
Posts: 18
Use DecimalFormat. this will limit the number of decimal places your answer it and if you haven't already change float to double. Here is some example code where I did almost what it sounds like what you where trying to do. This code divides two numbers and uses decimal format to control the decimals.


'allo Poppet!!!
 
GeeCON Prague 2014
 
subject: just basic division