CodeGym /ื‘ืœื•ื’ Java /Random-HE /Java Float ืžื™ืœืช ืžืคืชื—
John Squirrels
ืจึธืžึธื”
San Francisco

Java Float ืžื™ืœืช ืžืคืชื—

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ื‘ืฉืœื‘ ืžืกื•ื™ื ื‘ืคื™ืชื•ื— ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ื”ืžื—ืฉื•ื‘, ื”ืชื‘ืจืจ ืฉื™ื—ื™ื“ื•ืช ืขื™ื‘ื•ื“ ืžืจื›ื–ื™ื•ืช ื–ืงื•ืงื•ืช ืœื”ืชืงื ื™ ื—ื•ืžืจื” ืœืขื™ื‘ื•ื“ ืžืกืคืจื™ ื ืงื•ื“ื” ืฆืคื”. ื›ื™ื•ื, ื›ืœ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื”ืžื—ืฉื‘ื™ื ื™ื›ื•ืœื•ืช ืœืขื‘ื•ื“ ื‘ื™ืขื™ืœื•ืช ืขื ืžืกืคืจื™ื ื›ืืœื”. ื›ืžื•ื‘ืŸ, ื‘ืฉืคื•ืช ืชื›ื ื•ืช, ืืชื” ื’ื ืœื ื™ื›ื•ืœ ืœื”ืกืชื“ืจ ื‘ืœื™ ืกื•ื’ื™ ื”ื ืชื•ื ื™ื ื”ืžืชืื™ืžื™ื. ื™ืฉื ื ืฉื ื™ ืกื•ื’ื™ ื ืชื•ื ื™ื ืฉืœ ื ืงื•ื“ื” ืฆืคื” ื‘-Java: float ื•ื›ืคื•ืœ. ืžื™ืœืช ื”ืžืคืชื— Java Float ืžื’ื“ื™ืจื” ืžืกืคืจ ืืžื™ืชื™ ืฉืชื•ืคืก 32 ืกื™ื‘ื™ื•ืช ื‘ื–ื™ื›ืจื•ืŸ. ืขืœ ืžืกืคืจื™ื ื›ืืœื” ื ื“ื‘ืจ ื‘ืžืืžืจ ื–ื”.

ืžืกืคืจื™ื ืขืฉืจื•ื ื™ื™ื. ื›ื™ืฆื“ ืžืื•ื—ืกื ื™ื ืžืกืคืจื™ื ืืžื™ืชื™ื™ื ื‘ืžื—ืฉื‘?

ื›ื“ื™ ืœืื—ืกืŸ ืžืกืคืจื™ื ืžืžืฉื™ื™ื ื‘ื–ื™ื›ืจื•ืŸ ื”ืžื—ืฉื‘, ืžื•ืงืฆื™ื ืžืกืคืจ ืžืกื•ื™ื ืฉืœ ืกื™ื‘ื™ื•ืช. ืžืกืคืจ ืžืžืฉื™ ืžืื•ื—ืกืŸ ื›ืกื™ืžืŸ (ืคืœื•ืก ืื• ืžื™ื ื•ืก), ื’ืžืœ ืฉืœืžื” ื•ืžืขืจื™ืš. ืžื”ื™ ื”ืžื ื˜ื™ืกื” ื•ื”ืžืขืจื™ืš ืขื“ื™ืฃ ืœื”ืกื‘ื™ืจ ื‘ืขื–ืจืช ื“ื•ื’ืžื”. ื”ืžืกื” ื”ืžืฉื•ืขืจืช ืฉืœ ื”ื™ืจื— ื”ื™ื 7* 1022. ื›ืืŸ 7 ื”ื•ื ื”ื’ืžืœ ืฉืœืžื”, ื‘-22 ื”ืžืขืจื™ืš. ื›ืืฉืจ ืžืฆื™ื’ื™ื ืžืกืคืจื™ื ื’ื“ื•ืœื™ื ืื• ืœื”ื™ืคืš, ืงื˜ื ื™ื ืžืื•ื“ ืขืœ ื”ืžืกืš, ื ื™ืชืŸ ืœืจืื•ืช ืขืจืš ื›ืžื• 7E22. ื–ื”ื• ืžืกืคืจ ื”ื ืงื•ื“ื” ื”ืฆืคื”, ื•-7 ื›ืืŸ ื”ื•ื ื”ื’ืžืœ, ื•-22 ื”ื•ื ื”ืžืขืจื™ืš ืื• ื”ื—ื–ืงื” ืฉืœ 10. ืกื™ืžื•ืŸ ื–ื” ื ืงืจื ืกื™ืžื•ืŸ ืžืขืจื™ื›ื™.

Java Float ืžื™ืœืช ืžืคืชื— ื•ืžื™ืœืช ืžืคืชื— ื›ืคื•ืœื” Java

ืขืจื›ื™ ืฆืฃ (ืžืกืคืจื™ ื ืงื•ื“ื” ืฆืคื” ืื• ืžืกืคืจื™ื ืžืžืฉื™ื™ื) ื‘-Java ืžื™ื•ืฆื’ื™ื ืขืœ ื™ื“ื™ ื”ืกื•ื’ื™ื float ื•- double . ืžื™ืœื•ืช ื”ืžืคืชื— ื”ืœืœื• ืžืฉืžืฉื•ืช ืœืื—ืกื•ืŸ ืขืจื›ื™ื ืขื“ ืœืกื™ืžืŸ ืžืกื•ื™ื ืื—ืจื™ ื”ื ืงื•ื“ื” ื”ืขืฉืจื•ื ื™ืช. ื›ืคื•ืœ ื”ื ืžืกืคืจื™ื ืขื ื“ื™ื•ืง ื›ืคื•ืœ, ืงืจื•ื‘ ื›ื›ืœ ื”ืืคืฉืจ ืœืขืจื›ื™ื ืฉื ื™ืชื ื• ืื• ืžืชืงื‘ืœื™ื ื›ืชื•ืฆืื” ืžื—ื™ืฉื•ื‘ื™ื. Java Double ืžืฉืžืฉ ืขื‘ื•ืจ ื›ืœ ื—ื™ืฉื•ื‘ ืžืชืžื˜ื™ (ืฉื•ืจืฉ ืจื™ื‘ื•ืข, ืกื™ื ื•ืก, ืงื•ืกื™ื ื•ืก, ..), ื›ืžื• ื’ื ืขื‘ื•ืจ ื›ืœ ื”ื—ื™ืฉื•ื‘ื™ื ืฉื‘ื”ื ื“ื™ื•ืง ืžืกื•ื™ื ื—ืฉื•ื‘. ืกื•ื’ ื ืชื•ื ื™ื ืฆืฃ ืžืฉืžืฉ ืœืกื•ื’ ืคื—ื•ืช ืžื“ื•ื™ืง ืฉืœ ื ืงื•ื“ื” ืฆืคื”. ื”ื•ื ืžืฉืžืฉ ืœืขืชื™ื ืจื—ื•ืงื•ืช ืžืื•ื“ ื›ื“ื™ ืœื—ืกื•ืš ื‘ื–ื™ื›ืจื•ืŸ. ื›ืืŸ ืœืžื˜ื” ื™ืฉ ืœื ื• ื˜ื‘ืœื” ืขื ื”ืžื™ื“ืข ื”ืขื™ืงืจื™ ืขืœ ืฆื™ืคื” ื•ื›ืคื•ืœ, ื›ืžื• ื’ื ื”ื”ื‘ื“ืœื™ื ื‘ื™ื ื™ื”ื.
ืœึธืฆื•ึผืฃ ืœึฐื”ึทื›ืคึผึดื™ืœ
ืจึธืืฉืึดื™ ืœืฆื•ืฃ ื”ื•ื ืขืจืš ื“ื™ื•ืง ื™ื—ื™ื“ ื–ื”ื• ืขืจืš ื‘ืขืœ ื“ื™ื•ืง ื›ืคื•ืœ
ื’ื•ื“ืœ ื‘ืจื™ืจืช ืžื—ื“ืœ 4 ื‘ืชื™ื (32 ื‘ื™ื˜ื™ื) 8 ื‘ืชื™ื (64 ืกื™ื‘ื™ื•ืช)
ืขืจืš ื‘ืจื™ืจืช ืžื—ื“ืœ 0.0f 0.0
ื˜ื•ื•ื— ืž-1.4eโ€“045 ืขื“ 3.4e+038 ืž-4.9eโ€“324 ืœ-1.8e+308
ืžื” ื‘ืฉื‘ื™ืœ ื–ื” ืžืฉืžืฉ ื›ื“ื™ ืœื—ืกื•ืš ื‘ื–ื™ื›ืจื•ืŸ ืœืขื‘ื•ื“ ืขื ืžืกืคืจื™ื ืฉื‘ืจื™ื ื‘ืฆื•ืจื” ืžื“ื•ื™ืงืช ื™ื—ืกื™ืช
ืื– ืžื™ืœืช ืžืคืชื— Float ืคื™ืจื•ืฉื” ืžืกืคืจ, ืขืจืš ื“ื™ื•ืง ื™ื—ื™ื“ ืฉืœื•ืงื— 32 ื‘ื™ื˜ื™ื ืื• 4 ื‘ืชื™ื ื‘ื–ื™ื›ืจื•ืŸ. ื‘ืžืขื‘ื“ื™ื ืžืกื•ื™ืžื™ื, ื”ืขื‘ื•ื“ื” ืขื ืžืกืคืจื™ื ื›ืืœื” ืžื”ื™ืจื” ื™ื•ืชืจ, ื•ื›ืคื™ ืฉื›ื‘ืจ ื”ื•ื–ื›ืจ, ื”ื ืชื•ืคืกื™ื ืคื—ื•ืช ืžืงื•ื ื‘ื”ืฉื•ื•ืื” ืœืžืกืคืจื™ื ืขื ื“ื™ื•ืง ื›ืคื•ืœ. ืขื ื–ืืช, ืื™ ืืคืฉืจ ืœื•ืžืจ ื—ื“ ืžืฉืžืขื™ืช ื‘ืžื”ื™ืจื•ืช. ื ื ื™ื— ืฉื—ืœืง ืžื”ืžืขื‘ื“ื™ื ื”ืžื•ื“ืจื ื™ื™ื ืžืขื‘ื“ื™ื ืžืกืคืจื™ื ืžื“ื•ื™ืงื™ื ื›ืคื•ืœื™ื ืžื”ืจ ื™ื•ืชืจ.

Java Float ื•ื”ืฆื”ืจื” ื›ืคื•ืœื”

ืืชื” ื™ื›ื•ืœ ืœื”ื›ืจื™ื– ืขืœ ืžืกืคืจ ืกื•ื’ ื›ืคื•ืœ ื‘ืื•ืชื• ืื•ืคืŸ ื›ืžื• ืžืกืคืจื™ื ืžืกื•ื’ื™ื ืื—ืจื™ื:
double myDouble = 2.7;
ืขื ื–ืืช, ืื ืืชื” ืžื™ื™ืฆื’ ืžืกืคืจ ื ืงื•ื“ื” ืฆืคื” ื‘ืฆื•ืจื” ื–ื•, ื”ืžื”ื“ืจ ื™ื“ืจื•ืฉ ืžืžืš ืœืฉื ื•ืช ืืช ืกื•ื’ ื”ืžืกืคืจ ืœื›ืคื•ืœ. ื”ื ื” ื“ื•ื’ืžื” ืœื ื ื›ื•ื ื” ืฉืœ ืžืฉืชื ื” ืฆืฃ :
public class FloatExample {
   public static void main(String[] args) {
//double and float variables
       double myDouble = 2.7;
       float myFloat = 3.14;
   }
}
ื–ื” ืžื” ืฉืงื•ืจื” ืื ืืชื” ืžืคืขื™ืœ ืืช ื”ืชื•ื›ื ื™ืช ื”ื–ื•:
Error:(4, 25) java: incompatible types: possible lossy conversion from double to float
ื”ืขื•ื‘ื“ื” ื”ื™ื ืฉืœื ืจืฆื•ื™ ืœื”ืฉืชืžืฉ ื‘ืžืกืคืจื™ ืฆืคื™ื, ื•ื–ื” ืฆืจื™ืš ืœื”ื™ืขืฉื•ืช ืจืง ื›ื“ื™ ืœื—ืกื•ืš ื‘ื–ื™ื›ืจื•ืŸ. ื›ืœ ื”ืžืกืคืจื™ื ื”ืฉื‘ืจื™ื ื”ืืžื™ืชื™ื™ื ื‘-Java ื”ื Double ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ื•ื’ื ื”ืชื—ื‘ื™ืจ ืฉืœ ื”ืฉืคื” ืžื“ื’ื™ืฉ ื–ืืช. ืื ืืชื” ื‘ืืžืช ืจื•ืฆื” ืœืขื‘ื•ื“ ืขื ืกื•ื’ ื”ืฆืฃ, ืืชื” ืฆืจื™ืš ืœืฆื™ื™ืŸ ืื•ืชื• ื‘ืžืคื•ืจืฉ ืขื f ืฉืžืกื™ื™ื ืืช ื”ืžืกืคืจ.
public class FloatExample {
   public static void main(String[] args) {
//double and float variables
       double myDouble = 2.7;
       float myFloat = 3.14f;
   }
}
ืื’ื‘, ื ื™ืชืŸ ืœื›ืชื•ื‘ ืžืกืคืจื™ื ืฆืคื™ื ื•ื›ืคื•ืœื™ื ื‘ืฆื•ืจื” ืืงืกืคื•ื ื ืฆื™ืืœื™ืช.
float myFloat2 = 2E22f;
double myDouble2 = 3e10;
ืื ืืชื” ืžืฉืชืžืฉ ื‘ืžืกืคืจื™ื ื’ื“ื•ืœื™ื ืžืกืคื™ืง ื‘ื™ื™ืฆื•ื’ ื”"ืจื’ื™ืœ" ืฉืœื”ื, Java ืชืฆื™ื’ ืื•ืชื ืžื™ื“ ื‘ืฆื•ืจื” ืืงืกืคื•ื ื ืฆื™ืืœื™ืช. ื‘ื•ื ื ื‘ื™ื ื“ื•ื’ืžื”:
public class FloatExample {
   public static void main(String[] args) {
//float variables
               float myFloatNumber1=2182818284590.45f;
               float myFloatNumber2=19822612787260.141592181f;
               System.out.println("myFloatNumber1 = " + myFloatNumber1);
               System.out.println("myFloatNumber2 = " + myFloatNumber2);
       System.out.println("myFloatNumber1 + myFloatNumber2 = " + myFloatNumber1 + myFloatNumber2);
           }
       }
ื”ืชื•ืฆืื” ืฉืœ ืขื‘ื•ื“ืช ื”ืชื•ื›ื ื™ืช ื”ื–ื• ื ืžืฆืืช ื›ืืŸ:
myFloatNumber1 = 2.1828183E12 myFloatNumber2 = 1.98226121E13 myFloatNumber1 + myFloatNumber2 = 2.1828183E121.98226121E13

ื“ื•ื’ืžื” ืžื™ื•ื—ื“ืช ืœืฆื•ืฃ ื•ืžืกืคืจื™ื ื›ืคื•ืœื™ื

ื™ืฉื ื ืฉืœื•ืฉื” ืžืกืคืจื™ ื ืงื•ื“ื” ืฆืคื” ืžื™ื•ื—ื“ื™ื ื‘ืฉืคืช Java, ื”ืžืฉืžืฉื™ื ืœืฆื™ื•ืŸ ื”ืฆืคื•ืช ื•ืฉื’ื™ืื•ืช. ื”ื ื” ื”ื:
  • ืื™ื ืกื•ืฃ ื—ื™ื•ื‘ื™ ื”ื•ื ืชื•ืฆืื” ืฉืœ ื—ืœื•ืงืช ืžืกืคืจ ื—ื™ื•ื‘ื™ ื‘-0. ืžื™ื•ืฆื’ ืขืœ ื™ื“ื™ ื”ืงื‘ื•ืขื™ื Double.POSITIVE_INFINITY ื•- Float.POSITIVE_INFINITY .

  • ืื™ื ืกื•ืฃ ืฉืœื™ืœื™ ื”ื•ื ืชื•ืฆืื” ืฉืœ ื—ืœื•ืงืช ืžืกืคืจ ืฉืœื™ืœื™ ื‘-0. ืžื™ื•ืฆื’ ืขืœ ื™ื“ื™ ื”ืงื‘ื•ืขื™ื Double.NEGATIVE_INFINITY ื•- Float.NEGATIVE_INFINITY .

  • NaN (ืœื ืžืกืคืจ) ืžื™ื™ืฆื’ ืืช ื”ื—ื™ืฉื•ื‘ ืฉืœ 0/0 ืื• ืœืงื™ื—ืช ื”ืฉื•ืจืฉ ื”ืจื™ื‘ื•ืขื™ ืฉืœ ืžืกืคืจ ืฉืœื™ืœื™. ืžื™ื•ืฆื’ ืขืœ ื™ื“ื™ ื”ืงื‘ื•ืขื™ื Double.NaN ื•- Float.NAN .

ื”ื ื” ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื‘ืžืกืคืจื™ ื”ื ืงื•ื“ื” ื”ืฆืคื” ื”ืžื™ื•ื—ื“ืช:
public class FloatExample {
   public static void main(String[] args) {
       int myInt = 1;
       float zero = 0.0f;
       double negZero = -0.0;
       double negativeInfinity = Double.NEGATIVE_INFINITY;
       double positiveInfinity = Float.POSITIVE_INFINITY;

       System.out.println(myInt / zero);
       System.out.println(myInt / negZero);
       System.out.println(zero == negZero);
       System.out.println(negativeInfinity * 0);
       System.out.println(positiveInfinity+negativeInfinity);

   }
}
ื”ืชื•ืฆืื” ื”ื™ื:
Infinity -Infinity true NaN NaN

ื”ืื ื“ื™ื•ืง ื›ืคื•ืœ ืžืกืคื™ืง?

ืœืžืขืฉื”, ืœืžืจื•ืช ื”ื“ื™ื•ืง ื”ื›ืคื•ืœ ืฉืœ ื”ืกื•ื’ Double , ืฉื™ืžื•ืฉ ื‘ืžืกืคืจื™ ื ืงื•ื“ื” ืฆืคื”, ืœืžืฉืœ, ื‘ื—ื™ืฉื•ื‘ื™ื ืคื™ื ื ืกื™ื™ื, ืื™ื ื• ื”ืจืขื™ื•ืŸ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ ืžื›ื™ื•ื•ืŸ ืฉื˜ืขื•ื™ื•ืช ืขื™ื’ื•ืœ ืื™ื ืŸ ืžืงื•ื‘ืœื•ืช. ืื–, ื ืกื” ืœื”ืฆื™ื’ ืืช ื”ืคืœื˜ ืฉืœ ื”ืชื•ื›ื ื™ืช ื”ื‘ืื” ืขืœ ื”ืžืกืš.
public class FloatExample {
   public static void main(String[] args) {
       System.out. println( "2.0 - 1.1 = " + (2.0 - 1.1));
   }
}
ืชืงื‘ืœ ืืช ื”ืชื•ืฆืื” ื”ื‘ืื”:
2.0 - 1.1 = 0.89999999999999999
ื™ื”ื™ื” ื”ื’ื™ื•ื ื™ ืœื”ื ื™ื— ืฉื”ืชื•ืฆืื” ืชื”ื™ื” 0.9. ืขื ื–ืืช, ืฉื’ื™ืื•ืช ื›ืืœื” ื ืคื•ืฆื•ืช ืœืžื“ื™ ื•ืงืฉื•ืจื•ืช ืœื™ื™ืฆื•ื’ ื”ื‘ื™ื ืืจื™ ื”ืคื ื™ืžื™ ืฉืœ ืžืกืคืจื™ื. ืื™ื ื ื• ื™ื›ื•ืœื™ื, ืœืžืฉืœ, ืœื™ื™ืฆื’ ืืช ื”ืขืจืš ื”ืžื“ื•ื™ืง ืฉืœ โ…“ ื›ืฉื‘ืจ ืขืฉืจื•ื ื™; ื›ืžื•ื‘ืŸ, ื™ืฉ ื”ื’ื‘ืœื•ืช ื“ื•ืžื•ืช ื‘ืžืขืจื›ืช ื”ื‘ื™ื ืืจื™ืช. ืื ื”ืžืฉื™ืžื” ื“ื•ืจืฉืช ื‘ื™ื˜ื•ืœ ืฉื’ื™ืื•ืช ืขื™ื’ื•ืœ, ืœ-Java ื™ืฉ ืืช ื”ืžื—ืœืงื” BigDecimal ืขื‘ื•ืจ ื–ื”.
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION