Ruby Academy · Oppitunti

Rational ja BigDecimal

Tarkka aritmetiikka.

Oppitunti 4/413 vaihetta

Rational ja BigDecimal on ilmainen Ruby Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/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 Ruby Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Ruby Academy-kurssilla on yhteensä 4 oppituntia.

Miksi tarkkaa aritmetiikkaa tarvitaan?

Liukuluvut menettävät tarkkuutta. Raha- ja murtolukulaskentaan Ruby tarjoaa tyypit Rational ja BigDecimal, jotka säilyttävät tarkkuuden.

puts 0.1 + 0.2

Rational-luvun luominen

Rational on tarkka murtoluku. Kirjoittakaa se r-päätteellä tai käyttäkää muotoa Rational(num, den).

puts (1r / 3)
puts Rational(2, 4)

Rational-luvut sievenevät automaattisesti

Rational-luvut sievennetään automaattisesti supistamattomaan muotoon, joten 2/4 muuttuu muotoon 1/2.

puts Rational(6, 8)
puts Rational(10, 5)

Tarkka murtolukulaskenta

Rationaalilukujen yhteenlasku säilyy tarkkana toisin kuin liukuluvuilla. Yksi kolmasosa plus yksi kolmasosa plus yksi kolmasosa on täsmälleen yksi.

third = Rational(1, 3)
puts (third + third + third)

Osoittaja ja nimittäjä

Lukekaa osat metodeilla numerator ja denominator.

r = Rational(3, 4)
puts r.numerator
puts r.denominator

Rational-lukujen muuntaminen

to_f muuntaa rationaaliluvun liukuluvuksi, kun tarvitsette desimaalisen likiarvon.

puts Rational(1, 8).to_f

BigDecimalin lataaminen

BigDecimal käsittelee desimaalilukuja tarkasti, joten se sopii erinomaisesti rahasummiin. Ladatkaa se ensin standardikirjastosta.

require "bigdecimal"
a = BigDecimal("0.1")
b = BigDecimal("0.2")
puts (a + b).to_s("F")

Käyttäkää aina merkkijonoja

Luokaa BigDecimal-arvot merkkijonoista, älkää liukuluvuista, jotta tarkkuus ei häviä jo ennen laskennan alkamista.

require "bigdecimal"
good = BigDecimal("1.1")
puts good.to_s("F")

Rahalaskenta

BigDecimal säilyttää senttien tarkan arvon monissa laskutoimituksissa.

require "bigdecimal"
price = BigDecimal("19.99")
qty = 3
total = price * qty
puts total.to_s("F")

BigDecimalin pyöristäminen

BigDecimal-arvon round hallitsee desimaalien määrää tarkasti.

require "bigdecimal"
n = BigDecimal("2.675")
puts n.round(2).to_s("F")

Oikean työkalun valinta

Käyttäkää Rational-tyyppiä tarkoille murtoluvuille ja suhdeluvuille. Käyttäkää BigDecimal-tyyppiä tarkkoihin desimaalimuotoisiin rahasummiin. Käyttäkää Float-tyyppiä nopeaan tieteelliseen laskentaan, kun pieni virhe on hyväksyttävä.

require "bigdecimal"
puts Rational(1, 3)
puts BigDecimal("0.33").to_s("F")

Pikatarkistus

Tarkistakaa tarkan aritmetiikan hallintanne.

Kertaus

Opitte tarkan aritmetiikan perusteet:

  • Rational tarkoille murtoluvuille, jotka sievenevät automaattisesti
  • numerator, denominator, to_f
  • BigDecimal merkkijonoista tarkkaa rahalaskentaa varten
  • oikean tyypin valitseminen tehtävän mukaan

Ruby Numbers and Math -kurssi on nyt suoritettu.

puts (Rational(1, 2) + Rational(1, 3))
Aloita maksutta

Opi Ruby 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
29
Oppitunnit
109

Usein kysytyt kysymykset

Onko oppitunti ”Rational ja BigDecimal” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Ruby Academy-oppimispolun 3 oppituntia, myös oppitunnin “Rational ja BigDecimal”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Ruby Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Rational ja BigDecimal”?

Tarkka aritmetiikka. Harjoittelet Ruby Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Ruby Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Ruby Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Rational ja BigDecimal”-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ä Ruby Academy-oppitunnilla?

Kyllä. Jokainen Ruby 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

  1. Kokonaisluvut ja liukuluvut
  2. Aritmetiikka ja operaattorit
  3. Math-moduuli
  4. Rational ja BigDecimal
← Takaisin: Ruby Academy