Video: 19 - More Floating-Point Data Types in Java (Float and Double) 2025
Flydende punkt tal er tal, der har fraktionelle dele (normalt udtrykt med decimaltal). Du skal bruge en flydende punkttype i Java-programmer, når du har brug for et tal med en decimal, f.eks. 19. 95 eller 3. 1415.
Java har to primitive typer til flytende punktnumre:
-
float: Uses 4 byte
-
dobbelt: Bruger 8 byte
I næsten alle tilfælde skal du bruge dobbelt typen, når du har brug for tal med brøkdele.
Den præcision af en flydende punktværdi angiver, hvor mange signifikante cifre værdien kan have efter dens decimaltal. Præcisionen af en float type er kun omkring seks eller syv decimaler, hvilket ikke er tilstrækkeligt for de fleste typer beregninger.
Hvis du f.eks. Bruger Java til at skrive et lønningssystem, kan du for eksempel komme væk med at bruge floatvariabler til at gemme lønninger for medarbejdere som lærere eller brandmænd, men ikke til professionelle baseballspillere eller virksomhedsledere.
Derimod har dobbeltvariabler en præcision på omkring 15 cifre, hvilket er nok til de fleste formål.
Når du bruger et flytende punkt bogstaveligt, skal du altid medtage et decimaltegn, som dette:
dobbelt periode = 99. 0;
Hvis du udelader decimaltegnet, behandler Java-kompilatoren det bogstav som et helt tal. Så når det ser ud til at du forsøger at tildele heltalet bogstaveligt til en dobbeltvariabel, konverterer kompilatoren heltalet til en dobbeltværdi. Dette undgåelige konverteringstrin bruger nogle værdifulde behandlingstider.
For at gemme den tid kan du tilføje et F eller D-suffiks til et flydende punkts bogstaver for at angive, om den bogstavlige selv er af typen float eller dobbelt. For eksempel:
float value1 = 199. 33F; double value2 = 200495. 995D;
Hvis du udelader suffikset, antages D. Som følge heraf kan du normalt udelade D-suffixet for dobbelte bogstaver.