File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
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


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
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: 41124
    
  45
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: 38033
    
  22
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: 38033
    
  22
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!!!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: just basic division
 
Similar Threads
division evaluates to zero
Return Types Exam Question
Are you ready for some football?
ArithmeticException
Get Mod (remainder) in java