Autor | Zpráva | ||
---|---|---|---|
peta Profil * |
#1 · Zasláno: 20. 7. 2005, 11:04:17
Potrebuji vysledek prevest na retezec a zaokrouhlit na 50 haleru. Pridat dan
cislo=111; Math.round(cislo*1.19*2)/2); Mno, toto, kdyz dam vypsat jako retezec, tak to sice zaokrouhli, ale vypise: 111 111.5 a ja potrebuji tvar 111.50 Vim, ze treba v php je na formatovani sprint(), ale za boha nemuzu najit, jak se to dela v JS. Asi jsem slepy, koukal jsem na juhu priklady a podle nazvu nic. |
||
peta Profil * |
#2 · Zasláno: 20. 7. 2005, 11:08:35
Taklhe, umim to udelat jinym zpusobem, ale urcite je nejaka univerzalni funkce.
cislo=111; x=Math.round(cislo*1.19*2)/2); y=Math.floor(x); z=y+(x!=y)?".50":".00"; |
||
Rob Profil |
#3 · Zasláno: 20. 7. 2005, 21:33:58
A co zkusit např.
var cislo=154,5; //nebudu psát to tvoje cislo+="0"; vtip je v tom, že když to dáš do uvozovek, tak ti to tu hodnotu nepřičte, ale připíše. |
||
peta Profil * |
#4 · Zasláno: 20. 7. 2005, 22:37:26
Rob
nepochopil jsi problem. mam normalni cenu a podle ceskych penez se zaokrouhluje na 50 satniky. Cili vyjde mi cislo: 5 a jine cislo 6.4 a jeste cislo 3.7 radek: x=Math.round(cislo*1.19*2)/2); ... zaokrouhlim a dostanu 5 6.5 4 a potrebuji 5.00 6.50 4.00 Hm? |
||
Rob Profil |
#5 · Zasláno: 20. 7. 2005, 22:56:10
Ok, Script s tím pracovat nebude umět, ale to nevadí, ty jen potřebuješ, aby do tak vylezlo. Tedy jestli to správně chápu tak script s tím něco dělá a výsledek ti leze ven. A ty potřebuješ aby byl ten výsledek ve formátu 3.50. Takže asi tak
function pocitani() { zde java script počítá kontrola(vysledek); } function kontrola(vysledek) { zde se musí zjistit jak výsledek vypadá, teď nevím jak, ale určitě si poradíš if (je vysledek 3,5) opravene+="0"; připíše k 3,5 nulu aby to vypadalo 3,50 a ted to hlavni window.alert("Vysledek je "+opravene); } Pokud jsem to správně pochopil, tak jednoduše řečeno: Není důležité jak s tím Script počítá, ale jak to leze, takže pokud všechny výstupy ochráníš kontrolou a dopsáním toho hodnota+="0" tak to poslouží jak má. Jestli si pořád nerozumíme tak dej vědět. |
||
peta Profil * |
#6 · Zasláno: 21. 7. 2005, 08:33:59
Rob
Ale toz :) Ja potrebuji formatovani vysledku. V PHP je to funkce sprint, jaka je to funkce v JS? Umim to napsat jinym zpusobem a to: a=Math.round(cislo*1.19*2)/2; b=Math.floor(a); c=(a>b)?".50":".00"; z=b+c; kde "a" je vstupni cislo, nasobene dani 1.19, zaokrouhleno na padosky round(x*2) /2 "b" je "a" bez desetinne carky "c" do c dam tak bud ".00" nebo ".50", podle toho, jestli je a==b nebo ne "z" je vysledek b+c mno a v php by se 3 posledni radky napsali asi nejak takto: sprintf($a%d2) nebo $a.string... (presne zneni neznam, ale vim, kde bych hledal priklady) Na JS prave nic moc takove neni, jako dobra stranka s navodem a priklady. |
||
Rob Profil |
#7 · Zasláno: 21. 7. 2005, 20:01:06
peta
jestli ti to funguje tak není co řešit. Ale jen bych rád věděl jestli jsem se nemýlil. Potřebuješ ty padoše na výstupu ze scriptu?? |
||
peta Profil * |
#8 · Zasláno: 22. 7. 2005, 08:21:17
Rob
Nechapu... jak na vystupu ze scriptu? Ja to potrebuji jako prevodni funkci, abych tak mohl upravit vsechna cisla. www.volny.cz/peter.mlich/www.htm Ostatni - priklad na Cookies Nakupni kosik (kde to mam teda jen pro vysledne ceny, ale bylo by hezke, kdyby tak byla vsechna cisla, cili function bbb(cislo), treba) |
||
Rob Profil |
#9 · Zasláno: 23. 7. 2005, 17:45:08
peta
Jak výstup ze scriptu?: Návštěvníku vložte dvě čísla, která chcete (cokoliv). Zadá a to přečte script a počítá. Třeba chce návštěvník sečíst dvě čísla, např 2+2. Script s nimi může dělat cokoliv. Odmocnit je, potom na něco mocnit z toho vypočítat na logaritmus nějakým dělením je převést na radiány a z radiánů na stupně. Prostě cokoliv, ale výsledek to musí vyhodit 4. Tak je jedno jestli je rovnou sečte, nebo s nima napřed cokoliv udělá, ale musí vyhodit jejich součet. Tím myslím výstup ze scriptu. |
||
peta Profil * |
#10 · Zasláno: 23. 7. 2005, 19:32:18
Rob aha, pan ma rad technicke pojmy jako vstup vystup, nestaci mu vseobecny pojem script, tak jo, no :) Kazdy script ma vstup vystup, nezdrzuji se popisovanim zrejmych veci
|
||
Leo Profil |
#11 · Zasláno: 24. 7. 2005, 01:11:30
JavaScript 1.5 (JScript 5.5, coz odpovida IE 5.5) ma metody
Number.toFixed() a Number.toLocaleString() ale nezkousel jsem to, Leo |
||
Časová prodleva: 10 měsíců
|
|||
fundix Profil * |
#12 · Zasláno: 11. 5. 2006, 20:18:53
pridal bych jen trochu legislativy
http://www.aktis.cz/html/produkty/legislativa/zaokrouhlovani.html?relo ad_coolmenus |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0