double « float « Java Data Type Q&A

1. How can I prevent floats and doubles from getting truncated in Java and C?

When I give Java and C large floats and doubles (in the billion range), they convert them to scientific notation, losing precision in the process. How can I stop this behavior? ...

2. Can every float be expressed exactly as a double?

Can every possible value of a float variable can be represented exactly in a double variable? In other words, for all possible values X will the following be successful:

float f1 = X;
double ...

3. Java: my method wants the double type instead of float?

In another Bruce Eckel exercise, the code I've written takes a method and changes value in another class. Here is my code:

class Big {
  float b;

public class PassObject {

4. What is the inclusive range of float and double in Java?

What is the inclusive range of float and double in Java? Why are you not recommended to use float or double for anything where precision is critical?

5. float to double assignment

Consider the following code snippet

float num = 281.583f;
int amount = (int) Math.round(num*100f);
float rounded = amount/100.0f;
double dblPrecision = rounded;
double dblPrecision2 = num;
System.out.println("num : " + num + " amount: " + amount ...

6. switch expression can't be float, double or boolean

Why doesn't the switch expression allow long, float, double or boolean values in Java? why is only int (and those that are automatoically promoted to int) allowed?

7. Java floats and doubles, how to avoid that 0.0 + 0.1 + ... + 0.1 == 0.9000001?

I have a very annoying problem with long sums of floats or doubles in Java. Basically the idea is that if I execute:

for ( float value = 0.0f; value < 1.0f; ...

8. double, float multiplication

Hi, I came across some unexpected behaviour today, regarding double,float and double,double multiplications. I get the values 240000.0 and 239999.99463558197 respectively when the program below is run. public class Arith { public static void main(String args[]) { try { double a = 3000000.00; double b = 0.08; float b2 = 0.08f; System.out.println((a*b)); System.out.println((a*(double)b2)); } catch(Exception x) { } } } I ...

9. passing a float to a double

10. passing a float to a double

11. Strange behavior when doing new Float(string) and new Double(string)

public class CheckNumberFormatException { private final static int FLOAT_TYPE = 0; private final static int DOUBLE_TYPE = 1; public static boolean isNumberFormatException(int numberType,String strNumber) { boolean flag = false; try { switch(numberType) { case FLOAT_TYPE : new Float(strNumber); case DOUBLE_TYPE : new Double(strNumber); } flag = false; } catch(NumberFormatException nfe) { flag = true; } return flag; } public static void ...

12. Representing Price: float or double?

Hi and thanks for your reply. Float does return numbers with many decimal places. If we are talking about rounding errors of a penny, I am not really concerned with that. I did write my own function for rounding for display purposes. Will float ever cause a rounding error of over a penny. Here is a small function I wrote to ...

13. What is Ceil, Floor, Float, Double

Math.ceil() and Math.floor() are methods. System.out.println(Math.floor(3.2) == 3); // prints 'true' System.out.println(Math.ceil(3.2) == 4); // prints 'true' Watch you capitalization. byte, short, int, long, float, and double are the primitives for representing numbers, while Byte, Short, Integer, Long, Float, and Double are objects for representing numbers. I don't really want to give a detailed explination about the number primitives, but heres ...

14. another problem with float's and double's

Hi all !!! Why does this code : static double number; for ( int i=0;i<=200;i++) { number = i/100 ; System.out.println("number "+ number); } returns variable 'number' as integer ??? Things getting better when variable 'i' is changed to double. It is important in my program to count a double from two integers( cannot change this int's into doubles).

15. Problems with double and float in Compile

I was having a problem with my code, this probably would'nt take long for somebody with more experience...thanks for the help. import cs1.Keyboard; public class JarOCoins { public static void main (String[] args) { float Quarters, Dimes, Nickles, Pennies, HalfDough, TotDough; System.out.println ("How many Quarters in the Jar?"); Quarters = Keyboard.readInt(); System.out.println ("How many Dimes in the Jar?"); Dimes = Keyboard.readInt(); ...

16. What is the difference between a double and a float?

I keep encountering an error in my programs whenever I have float variables. In debugging the error usually says something along the lines of found a double required a float. I thought if I had a floating point result and I used floating point variables I would get a float as out put i.e float = float * float.

17. Question about floats and doubles

Thanks for the welcome. I think I get it now. Here is the question that I was having problems with (p. 48, #9 if you have the JAVA 2 book by Sierra and Bates). Which of these are valid delarations of a float? (Choose three.) A. float f1 = -343; B. float f2 = 3.14; C. float f3 = 0x12345; D. ...

18. Float and Double Data Type

19. floats and doubles

On page 12 it states that 2546789.343 is a double. Also on question 9, p 48, the answer states that B 3.14 is a float as well. How can you tell it is a double and not a float? I guess my question is how can you tell if a number is a float or a double by just looking at ...

20. Double / Float Doubt.

hi, this is my code...when i print the values for d3 and d2 , their values are printed with spurious decimal places. why is that ? why not print just zeros after the relevant two decimal places. System.out.println("addition of129.845+12.84 = " +(129.84+12.84)); double d1 = 129.84; float f1=12.84f; double d3=f1; System.out.println("d1 "+d1); any help will be appreciated. System.out.println("d3 =" +d3); double ...

21. float * double...newbie question

I'm trying to multiply a value in a float array by a double... this is the code I've got, but I'm getting a compiler error: //calculate polynomials double vvv = (1 - t) * (1 - t) * (1 - t); double vvu = 3 * (1 - t) * (1 - t) * t; double vuu = 3 * (1 ...

22. double or float?

Hi, this code is basically meant to work out an olympic dive score, Then print out a bar chart, using rectangles. But, the difficulty can be between 1.2 and 3.5. So an Int wont work, but when i change it, there is problems with the rect object, loss of precision or something. And that it needs an int, but of course ...

23. Data range of float and double types

I recently started to go thru Kathy and Sierra book. In the 10th page of the book it is mentioned that its compicated\ to determine the data range of float and double data types. My question is we know that float occupies 32 bits and double occupies 64 bit. Why cant we mention that float data range is -2 power 31 ...

24. Point2d.Double and Point2d.float

Point2D.Float, not Point2d.Float. You have to be very careful about capital letters. If you look through the API documentation for the Point2D class you will find you cannot instantiate Point2D anyway; you have to use one of the other three classes mentioned there. You can therefore write new Point2D.Float(1.0f, 99f); I shall let you go through the API yourself to see ...

25. whats the difference between float & double

I think you are getting "different" for the 3.2 because a computer's floating point unit works with base 2 binary and 0.2 can't be represented precisely in binary, it is called a repeater fraction. In base-2 only numbers with denominators that are powers of 2 are terminating, which I think is only .25, .50, and .75, which is why 6.5 shows ...

26. float or double

I have to write a Java code that is computational intensive and has array of arrays ([N][N] where N = 4000). None of the values are over what a float can represent. I was told in Java it is better to use double rather than float for speed. Can someone clarify if this is true? Thanks Ravi

27. Double to float

28. Double and Float

You sound like you think that is a bad thing. Writing code is like building a house. You need to use the right tool for the job. It seems like you're saying "I want to drive in this nail. Can I use a wrench". you're told to use a hammer. You the reply with "well, I can use this really, really ...

29. double or float for importing data?


I AM TRYING TO to change numerical output to show two decimal places when I do a print out but it will not let me I have tried to change it to double but it states that it loses precision in my ide and does not work how can i do it. so far i have tried. result1 = (double) result; ...

32. Confused with float and double

33. float or double?

i need help in making a computer program. we were not taught how to initialize with float or double. all i know is how to initialize with integer ( e.g. `` int x=1; `` ) i would just like to ask: 1. which is better to use, float or double? 2. either float or double, how do i initialize my variable ...

34. float and double

35. Help with double and float

36. Double into Float

37. double to float

Hi was wondering how you convert a double to a float? I am using the Math.pow function for a calculation and it seems that doubles only seem to work with it, but i need to convert the answer back to a float so it works with the rest of the program. Any help would be appreciated , thanks.

38. float and double

39. from double make float

40. double vs. float

Integer division produces integer results, and fractions are truncated. 999/1000 is 0 This is true regardless of any assignment of the result to a variable. The result is computed before the assignment happens. So if you're dividing by the result of 999/1000, then you're dividing by zero. "double expected" is because floating point literals lke 250.0 and 1.5 are doubles, and ...

42. Modulo(%) on floats and doubles

Thanks for the link i have had a look but i am in my last year of College and i think i will leave learning that kind of knowledge till University. but after a quick skim thought i can see how doing floating point math can get very complicated and result in numbers slightly off what is expected. Scott.

43. floats or double

There is some performance hit, but you are very, very, very unlikely to see this in any regular program. Also Java only guaranties that 32-bit operations (float) are 'atomic', 64-bit operations (double) can require two memory read/write operations, hence the need for the various Atomic... classes in the Java concurrency utilities. This may of course change as 64-bit operating systems come ...

44. incorrect float to double convertsion

So, at this point I have to agree with Mr_Evil. Either way, it should be the same. Of course, they are floating decimal types. But, if I put an number like 23.3 in a float variable and this value of a 4 byte floating point is then put in a double variable with 8 bytes. It still should be the same. ...

45. NumberFormat problem with Doubles and Floats?

Which to me, isn't right. I would have thought that the double-Formatted and float-Formatted would have displayed the same, but they don't. float-Formatted is off by 210. Can someone explain why this is happening? It's has nothing to do with the formatter. The float is not as precise as the double. Look at what else you printed out: doubleNumber: 1.0084727618E10 floatNumber: ...

46. method's choose: Float and double Why ? pls!

47. making a loop that will stop when a double or a float will max out

Can someone tell me to how I can create a loop that will take a float abd a double value each with a beginning value of 2 and double each value until both variables run out of memory, and return the maximum valid value for each variable? I assume I will need two loops to do this, but I am not ...