kodujemy po angielsku, CENASPRZETUNETTO zamiast var to let możńa to uprościć do iloscSztuk = Math.floor(saldoWBanku / cenaBrutto ) zaplacisz = iloscSztuk * cenaBrutto
@michal42: Zdecydowanie zalecam NIGDY nie korzystać z matematyki js na liczbach zmiennoprzecinkowych, a szczególnie wtedy, gdy dotyczy to pieniędzy. Popularny pattern, bez wykorzystania specjalnych bibliotek, polega na oddzieleniu części przed i po przecinku na 2 osobne liczby. Możesz to ubrać w osobną klasę, napisać do niej testy jednostkowe i masz dobry case do nauki.
@makary89: OK. Zapamiętam. @niepodszywamsiepodbiauka: A widzisz nie wiedziałem o tym. Wujek google podsunął mi o tym temacie trochę artykułów. Zapoznam się.
@niepodszywamsiepodbiauka: Wydaje mi się, że można też liczbę traktować jako całkowitą tj. 600.90 na 60090? Wtedy przy zwykłym dodawaniu, odejmowaniu czy mnożeniu nie powinno być problemu. Gorzej przy bardziej skomplikowanych obliczeniach, wtedy to np. można użyć jakiegoś lekkiego frameworka.
"use strict"
const PODATEK = 0.23;
const CENA_SPRZETU_NETTO = 19.99;
var saldoWBanku = 200;
var iloscSztuk = 0;
var koszyk = 0;
var cenaBrutto = CENA_SPRZETU_NETTO + (CENA_SPRZETU_NETTO * PODATEK);
while (koszyk < (saldoWBanku - cenaBrutto)) {
koszyk += cenaBrutto;
iloscSztuk += 1;
}
console.log("Stać cię na: " + iloscSztuk + " sztuk.")
console.log("Zapłacisz: " + koszyk.toFixed(2) + "PLN.")
#naukaprogramowania #javascript
iloscSztuk = Math.floor(saldoWBanku / cenaBrutto )
zaplacisz = iloscSztuk * cenaBrutto
Popularny pattern, bez wykorzystania specjalnych bibliotek, polega na oddzieleniu części przed i po przecinku na 2 osobne liczby. Możesz to ubrać w osobną klasę, napisać do niej testy jednostkowe i masz dobry case do nauki.
@niepodszywamsiepodbiauka: A widzisz nie wiedziałem o tym. Wujek google podsunął mi o tym temacie trochę artykułów. Zapoznam się.
zmienna += 1
zdecydowanie częściej spotykam się ze skróconymzmienna++
i też Ci go polecam :)@michal42: Można, ale musisz pilnować liczby miejsc po przecinku, a robienie tego ręcznie jest niewygodne.
Możesz zrobić klasę:
I teraz gdy chcesz zapisać 123.124 to robisz: