AcidLog je experiment. Nadesignuj a naprogramuj si ho podľa vlastných predstáv. viac »

Prednedávnom v práci nastala potreba naformátovať JavaScriptom nejaké čísla ako menu (nemyslím teraz menu ako ovládací prvok, ale menu ako peniaze).

Spravil som teda nejaký jednoduchý skript a ten sa použil. Lenže ja som sa nezastavil a tak som na tom doma ešte chvíľu popracoval a urobil ten skript tak, aby bol univerzálnejší a oveľa variabilnejší než pôvodná verzia. Výsledok môjho snaženia nájdete na adrese http://js.fczbkk­.sk/currency_for­mat/ a dúfam, že to aspoň niekomu v budúcnosti pomôže.

PS: Keď sa mi bude chcieť, tak ten skript ešte trochu učešem, zoptimalizujem a hlavne trošku lepšie zdokumentujem. Ale aj tak je to už celkom schopný a v praxi použiteľný skriptík.

Komentáre

Riki, celkom zaujímavé, len nefunguje s desatinnou čiarkou. Správne to prevedie len číslo s desatinnou bodkou.

 

RESTA: Vstupom je integer. To znamena, ze to co posielas tomu skriptu musi byt cislo. Predpokladam, ze s tym skriptom budes pracovat asi tako: Vynasob mi toto cislo tamtym a pripocitaj mi k tomu hento… a cele to preved na menu.
Proste tu neslo o formatovanie nejakych stringov, ale o naformatovanie vysledku nejakeho vypoctu.

 

Riki, hodil by sa convert z/na € s ohľadom na aktuálny kurz… ;)

 

SIBYL: Ja neviem… pozrela si sa na to, co ten skript robi? Precitala si si ten popis? Toto vobec nie je o konverzii alebo o prepocitavani kurzov. Ten skript je cely o tom, ze ti z ciselneho vstupu urobi string naformatovany ako menu. Nic viac, nic menej.
Preco mam obcas pocit, akoby som povedal: Pozrite, napisal som poviedku! a ludia na to: Super… V com si ju programoval? Preco nebezi pod Linuxom?
Ja neviem. Bud sa neviem jasne vyjadrit, alebo… tu niekto nechape.

 

Riki, ja neviem… išlo mi o to, načítať konštantu na prepočet napr. zo stránky s aktuálnym kurzom – problém s porozumením? A výsledkom bude string naformátovaný ako mena… alebo vieš čo? Zabudni na to…

 

SIBYL: Asi problem s myslenim.

Ja myslim takto: Mam funkciu, ktorou vstupom je cislo a vystupom naformatovany retazec. Je to univerzalna a cista funkcia, da sa zasadit do cohokolvek. Mozem urobit dalsiu funkciu, ktorej vstupom bude cislo a vystupom ine cislo vynasobene kurzom. Dve funkcie, obidve univerzalne a jednoduche, ktore mozu spolupracovat­.

Z toho co pises som usudil, ze myslis takto: Mam funkciu na naformatovanie cisla ako meny, tak do toho este narvem nejake konverzne prepocty, aby som to mala vsetko pekne pohromade.

Skusim nazornejsi, trochu humorny priklad (take mam najradsej)…

Ja: Mam metlu. Je super, mozem nou zametat. Aha, tu je rogalo. Mozem na nom lietat.

Ty: Jeeej, metla! Prirobim na nu riaditka, svetla a smerovky, aby som sa v noci nezrazila s ostatnymi jezibabami. Hmm… ale ako teraz budem zametat, ked ma pri tom do kolien udieraju tie zasrane riaditka?

PS: Dufam, ze som nikoho neurazil. To nebolo mojim zamerom. Mojim zamerom bolo vysvetlit a pobavit.

 

Riki, zámer vyšiel, pobavil si – a najmä si mi ozrejmil hranice tvojich ambícií. Už budem poslušná a nebudem po Tebe chcieť viac… ;)

 

SIBYL: Neviem, čo to má spoločné s ambíciami. Skôr tu ide o prístup k veci. Zatiaľ čo ja sa snažím robiť čisté a jednoduché veci, ktoré môžeš kombinovať alebo používať súčasne, ktoré sú univerzálne použiteľné, ty dávaš prednosť nabobtnaným kolosom so spústou nadbytočných funkcií.

Opäť sa uchýlim k popisným prirovnaniam: Ja mám hromadu hruštičiek a jabĺčok. Kto má rád jabĺčka, vezme si jabĺčko. Kto má rád hruštičky, vezme si hruštičku. Kto má rád oboje, vezme si jabĺčko aj hruštičku. Nech sa páči.

Ty po mne chceš, aby som urobil hybridnú odrodu – hruštička aj jabĺčko dohromady v jednom plode. Milovníci hruštičiek aj jabĺčok si povedia: „Mňam!“ Ale určite sa nájdu takí, čo hruštičky proste nemusia. Alebo im nevoňajú jabĺčka. A tí z toho mutanta radosť mať nebudú.

Otázne je, či je lepšie urobiť hybrida ktorý uspokojí väčšinu, alebo mať dve oddelené druhy ovocia, ktoré uspokoja všetkých. Ja osobne si rád pochutnám na jabĺčku a hruštičke osobitne.

 

Riki, sám si práve definoval svoju ambíciu

robiť čisté a jednoduché veci, ktoré môžeš kombinovať alebo používať súčasne, ktoré sú univerzálne použiteľné

– ale nemám pocit, že som od Teba chcela niečo iné, jabkohrušku, nabobtnaný kolos so spústou nadbytočných funkcií, len obyčajný prepočet meny… :)
 

Z toho co si pisala som pochopil, ze po mne chces, aby som do skriptu na naformatovanie cisla prirobil aj prepocitavanie meny. Oprav ma ak sa mylim (samorejme ze ma opravis).

 

Len ako doplnok by bola dobra moznost zvolenia smeru zaokruhlenia.
Napriklad v uctovnictve sa nie vzdy zaokruhluje podla matematiky (po 4 dole, od 5 hore), ale niektore sumy sa zaokruhluju vzdy hore.
(to len keby si chcel mat skript blizsie k dokonalosti:-))

 

YURO: Ano, aj nad tym som rozmyslal. Chcelo by to este dva parametre:
– smer zaokruhlenia
– pocet zaokruhlovanych desatinnych miest (stotiny, desatiny, pri negativnych hodnotach aj na desiatky, stovky alebo hoci aj miliony…)

 

Riki, správne – preferably podľa aktuálneho kurzu NBS ;)

 

SIBYL: Na tuto provokaciu nebudem reagovat!
PS: Len tak medzi nami, JavaScript je client-size. Prepocet kurzu je jednoduche nasobenie. Ako by si si teda predstavovala tvoju vysnivanu funkciu v praxi? Vynasobenie cisla konstantou? Na to predsa nepotrebujes funkciu…

 

Kurz nie je práve konštantný – ibažeby si ju tam každé ráno zadal ;)

 

SIBYL: Ale ved prave o to ide, nechapes? JavaScript je client-side. Ako chces pomocou JavaScriptu zistovat aktualny kurz?

 

Pridaj komentár

Komentáre môžu pridávať iba prihlásení užívatelia.