Precision Level

Precision Level What is the difference between a float and a double type in Java? I'm currently covering casting in my programming class (Java), but I'm getting confused with when casting is nece...


Precision Level

Precision Level
What is the difference between a float and a double type in Java?

I'm currently covering casting in my programming class (Java), but I'm getting confused with when casting is necessary when using float or double numbers. I know that float values are 32 bits and double values are 64 (and thus give different levels of precision). What I'm confused is in a case such as this:

float f = (float) 3.14;

Why is casting necessary? Isn't 3.14 already within a float's range; why would it have to be casted again as a float?
Thanks for the help :]

It comes down to the fact that Java has tight type safety.

By default java assumes a manually specified number to be a double, as a double would more precisely cover more numbers that you could type in. You have to cast between doubles and float explicitly. Java is helping you to not do something stupid (loose precision) by making you be absolutely sure about what your doing.

If you want to manually specify floats I always do the following to avoid annoying casting

float f = 3.14f;

 
Spectra Precision Laser Level 1470HP 1470 HP
Spectra Precision Laser Level 1470HP 1470 HP
Paypal   US $675.00
USED Starrett Precision Machinist Level
USED Starrett Precision Machinist Level
Paypal   US $49.00
SPECTRA PRECISION GL722 DUAL GRADE ROTATING LASER LEVEL
SPECTRA PRECISION GL722 DUAL GRADE ROTATING LASER LEVEL
Paypal   US $2,477.60
STARRETT Machinists precision level Model 98 12 12 in
STARRETT Machinists precision level Model 98 12 12 in
Paypal   US $145.00
Trimble Spectra Precision HV101 Rotary Laser Level NEW
Trimble Spectra Precision HV101 Rotary Laser Level NEW
Paypal   US $425.00
Trimble Spectra Precision GL720 Level
Trimble Spectra Precision GL720 Level
Paypal   US $1,600.00
SPECTRA PRECISION 1242 LASER LEVEL w TRIPOD NR
SPECTRA PRECISION 1242 LASER LEVEL w TRIPOD NR
Paypal   US $204.60
BRUEL KJAER TYPE 2231 PRECISION SOUND LEVEL METER
BRUEL KJAER TYPE 2231 PRECISION SOUND LEVEL METER
Paypal   US $81.00
Spectra Precision HV201 Rotary Laser Level 55
Spectra Precision HV201 Rotary Laser Level 55
Paypal   US $395.00
Spectra Precision LL300 Rotary Laser Level 00
Spectra Precision LL300 Rotary Laser Level 00
Paypal   US $495.00
Spectra Precision HV301 Rotary Laser Level 50
Spectra Precision HV301 Rotary Laser Level 50
Paypal   US $595.00
Starrett 98 8 Machinist Precision Level 8 New
Starrett 98 8 Machinist Precision Level 8 New
Paypal   US $64.99
Bruel Kjaer 2209 Precision Sound Level Meter
Bruel Kjaer 2209 Precision Sound Level Meter
Paypal   US $350.00
12 MASTER PRECISION LEVEL FOR MACHINIST TOOL NEW 0005
12 MASTER PRECISION LEVEL FOR MACHINIST TOOL NEW 0005
Paypal   US $75.90
SPECTRA PRECISION OPTICAL AL220 AUTO LEVEL TRIMBLE NEW
SPECTRA PRECISION OPTICAL AL220 AUTO LEVEL TRIMBLE NEW
   US $285.00
SPECTRA PRECISION OPTICAL AL228 AUTO LEVEL TRIMBLE NEW
SPECTRA PRECISION OPTICAL AL228 AUTO LEVEL TRIMBLE NEW
   US $425.00
L100M MX Laser Precision Level with Accessories
L100M MX Laser Precision Level with Accessories
Paypal   US $75.00
Spectra LL600 Trimble Precision Rotary Laser Level
Spectra LL600 Trimble Precision Rotary Laser Level
Paypal   US $300.00
8 MASTER PRECISION LEVEL FOR MACHINIST TOOL NEW 0005
8 MASTER PRECISION LEVEL FOR MACHINIST TOOL NEW 0005
Paypal   US $62.90
WYLER A58 Precision Frame Spirit Level Switzerland
WYLER A58 Precision Frame Spirit Level Switzerland
Paypal   US $395.00
Trimble Spectra Precision LL500 Level with Case
Trimble Spectra Precision LL500 Level with Case
Paypal   US $999.00
Stainless steel record weight with precision level
Stainless steel record weight with precision level
Paypal   US $125.00
GOLDPOINT SA2X BALANCED STEREO PRECISION LEVEL CONTROL
GOLDPOINT SA2X BALANCED STEREO PRECISION LEVEL CONTROL
Paypal   US $572.00
ULTRA SENSITIVE MACHINIST PRECISION LEVEL LATHE G70
ULTRA SENSITIVE MACHINIST PRECISION LEVEL LATHE G70
Paypal   US $79.00
C H HANSON 50024 24 Inch Precision Ball Level NEW
C H HANSON 50024 24 Inch Precision Ball Level NEW
Paypal   US $42.75
QUEST PRECISION OSHA SOUND MUSIC LEVEL METER CALIBRATED
QUEST PRECISION OSHA SOUND MUSIC LEVEL METER CALIBRATED
   US $149.00
Master Precision Level 8 w 0001 Grad Model 231132
Master Precision Level 8 w 0001 Grad Model 231132
Paypal   US $100.00
BK Precision 430 Signal Level Meter
BK Precision 430 Signal Level Meter
Paypal   US $115.00
Trimble Spectra Precision LL500 Level
Trimble Spectra Precision LL500 Level
Paypal   US $499.99
spectra precision trimble ll 300 laser level
spectra precision trimble ll 300 laser level
Paypal   US $649.99
Spectra Precision 1422 Laser Level w HR150 Rec 1402
Spectra Precision 1422 Laser Level w HR150 Rec 1402
Paypal   US $299.00
LS Starret 12 Double Plumb Precision Bench Level 132
LS Starret 12 Double Plumb Precision Bench Level 132
Paypal   US $75.00
Master Precision Level 12 Graduation 00005 NEW
Master Precision Level 12 Graduation 00005 NEW
Paypal   US $99.89
SPECTRA PRECISION PHYSICS 1462 LASER LEVEL GOOD USER
SPECTRA PRECISION PHYSICS 1462 LASER LEVEL GOOD USER
Paypal   US $365.00
Spectra Precision Laser Vertical Horizontal Level 1422
Spectra Precision Laser Vertical Horizontal Level 1422
Paypal   US $65.00
PRECISION FRAME LEVEL 6X1 1 2X6
PRECISION FRAME LEVEL 6X1 1 2X6
Paypal   US $79.99
W G Instruments AR160 Precision Level Regulator
W G Instruments AR160 Precision Level Regulator
Paypal   US $129.95

Leave a Reply