Liukuluvut: Double ja Float
Valitse Double- ja Float-tyypin välillä ja käsittele tarkkuutta.
Liukuluvut: Double ja Float on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Liukulukutyypit
Swiftissä on kaksi pääasiallista liukulukutyyppiä: Double (64-bittinen) ja Float (32-bittinen). Niillä esitetään lukuja, joissa on murtolukuosa.
let d: Double = 3.14159
let f: Float = 3.14159
print(d, f)Double on oletustyyppi
Kun kirjoitatte desimaaliliteraalin ilman tyyppimääritystä, Swift päättelee sen tyypiksi Double. Double tarjoaa paremman tarkkuuden kuin Float.
let value = 2.5
print(type(of: value))Tarkkuusero
Double tallentaa noin 15 merkitsevää desimaalinumeroa, kun taas Float tallentaa vain noin 6 tai 7. Sama literaali voi tulostua eri tavoin.
let d: Double = 0.1234567890123456
let f: Float = 0.1234567890123456
print(d)
print(f)Pi-vakio
Molemmat tyypit tarjoavat ominaisuuden .pi. Double.pi on tarkempi kuin Float.pi.
print(Double.pi)
print(Float.pi)Liukulukuaritmetiikka
Voitte laskea liukuluvuilla yhteen-, vähennys-, kerto- ja jakolaskuja. Jakolasku säilyttää murtolukuna esitettävän tuloksen.
let radius = 2.0
let area = Double.pi * radius * radius
print("Area:", area)Pyöristysmenetelmät
Liukulukuarvot tarjoavat menetelmän .rounded() sekä muunnelmia, kuten .rounded(.down) ja .rounded(.up).
let x = 2.7
print(x.rounded())
print(x.rounded(.down))
print(x.rounded(.up))Lattia, katto ja katkaisu
Pyöristyssäännöillä voitte pyöristää kohti negatiivista ääretöntä, kohti positiivista ääretöntä tai kohti nollaa.
let n = -2.3
print(n.rounded(.down))
print(n.rounded(.up))
print(n.rounded(.towardZero))Liukulukujen epätarkkuus
Binaariesityksen vuoksi joitakin desimaalilukuja ei voi tallentaa täsmällisesti. 0.1 + 0.2 ei tunnetusti ole täsmälleen 0.3.
let sum = 0.1 + 0.2
print(sum)
print(sum == 0.3)Liukulukujen turvallinen vertailu
Tarkan yhtäsuuruuden sijaan verratkaa liukulukuja pienen toleranssin eli epsilonin puitteissa.
let sum = 0.1 + 0.2
let close = abs(sum - 0.3) < 0.0001
print("Close enough:", close)Liukulukujen erikoisarvot
Liukulukutyypit voivat esittää infinity- ja nan-arvoja (ei luku). Tarkistakaa ne komennoilla .isInfinite ja .isNaN.
let inf = Double.infinity
let notNum = Double.nan
print(inf.isInfinite)
print(notNum.isNaN)Double- vai Float-tyypin valinta
Suosikaa yleisessä matematiikassa tarkkuuden vuoksi tyyppiä Double. Käyttäkää tyyppiä Float vain, kun muisti tai tietty laitteisto, kuten grafiikka, edellyttää 32-bittistä arvoa.
let preciseAvg: Double = (10.0 + 3.0) / 4.0
print(preciseAvg)Pikatarkistus
Palauttakaa mieleenne, minkä tyypin Swift päättelee desimaaliliteraaleille.
Kertaus: Double ja Float
Opitte, että Double (64-bittinen ja oletusarvoinen) on tarkempi kuin Float (32-bittinen), että molemmat tarjoavat .pi-vakion ja pyöristysmenetelmiä ja että liukulukulaskenta on epätarkkaa, joten luvut kannattaa verrata toleranssin avulla eikä operaattorilla ==.
let a = 0.1 + 0.2
print("Raw:", a)
print("Rounded:", a.rounded())
print("Within tolerance of 0.3:", abs(a - 0.3) < 1e-9)Opi Swift tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 122
- Oppitunnit
- 409
Usein kysytyt kysymykset
Onko oppitunti ”Liukuluvut: Double ja Float” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Liukuluvut: Double ja Float”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Liukuluvut: Double ja Float”?
Valitse Double- ja Float-tyypin välillä ja käsittele tarkkuutta. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Liukuluvut: Double ja Float”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?
Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Kokonaislukutyypit ja niiden arvoalueet
- Liukuluvut: Double ja Float
- Eksplisiittiset lukumuunnokset
- Numeeriset literaalit ja alaviivat