Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter
    nagyúr

    Elnéztem, 10,30-at kell adnia... :W

    A 40.00-ra ez a függvény van:

    $("#price").html(Dollar((amt*0.4)+(((amt*0.4) < 15.01) ? 0.3 : 0)) + " Euro");

    Ez egy "mini-webáruházhoz" hasonlítható legjobban. 1 termék van, abból 2 típus. Eddig Euróval lehetett csak fizetni, én azt akarom megoldani, hogy lehessen Forinttal is - bár lehet egyszerűbb lenne azt megoldani, hogyha a Forint van kiválasztva, akkor az Euro értékét szorozza meg 300-al, és köszönöm...

    A Dollar függvényhez én nem nyúltam egyáltalán, az készen jött valahonnan.

    Ez a Dollar() függvény, meg annak felhasználási módja úgy, ahogy van, rossz, ne ilyenből próbáld megtanulni a JavaScriptet. :) Nem tudom, honnan származik a függvény, de felejtős. Már eleve a neve félrevezető, nem is értem, honnan kapta. :) Azt sem tudom, mire jó, hogy amennyiben 0 és 1 közötti számot adok be neki, akkor levágja az elejéről a 0-t, és marad a tizedespont utáni rész, aminél ráadásul be van drótozva a pont (nincs lehetőség ennek átadására), pedig ez országfüggő lehet, lásd mi például a tizedesvesszőt használjuk. De mivel itt "Dollar" a függvény neve, biztos úgy gondolták, ez helyénvaló lesz. :DDD Az sincs lekezelve benne, mi van, ha negatív számot adok meg. :P
    A lényeg nagyon röviden: ez a függvény mindössze két tizedesre kerekít, semmi mást nem csinál. Ha beadod neki, hogy 10, akkor csinál belőle 10.00-t. Ha úgy hívod meg, hogy mondjuk Dollar(10123.5678), akkor stringként visszaad neked "10123.57"-et. Igazából ennyi.

    Erre viszont ennél jóval értelmesebb, rövidebb és legfőképp JÓL MŰKÖDŐ megoldások is vannak, lásd:
    http://stackoverflow.com/questions/11832914/round-up-to-2-decimal-places-in-javascript

    Előző példával élve:
    var myNumber = 10123.5678;
    var fixedPointNumberAsAString = parseFloat(myNumber).toFixed(2);
    // eredmény: "10123.57"

    VAGY:
    var myNumber = 10123.5678;
    var fixedPointNumber = Math.round(myNumber * 100) / 100;
    // eredmény: 10123.57

    Utóbbi esetben számot fogsz kapni eredményül, nem pedig egy stringet.

  • fordfairlane
    veterán

    Elnéztem, 10,30-at kell adnia... :W

    A 40.00-ra ez a függvény van:

    $("#price").html(Dollar((amt*0.4)+(((amt*0.4) < 15.01) ? 0.3 : 0)) + " Euro");

    Ez egy "mini-webáruházhoz" hasonlítható legjobban. 1 termék van, abból 2 típus. Eddig Euróval lehetett csak fizetni, én azt akarom megoldani, hogy lehessen Forinttal is - bár lehet egyszerűbb lenne azt megoldani, hogyha a Forint van kiválasztva, akkor az Euro értékét szorozza meg 300-al, és köszönöm...

    A Dollar függvényhez én nem nyúltam egyáltalán, az készen jött valahonnan.

    Ez ugyanaz a képlet, csak nem 0.1, hanem 0.4-es szorzóval.

Új hozzászólás Aktív témák