Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Javascript - Formát čísel

Ahoj, jak můžu pomocí Javascriptu opravit takové číselné údaje ? Poradí prosím někdo ? Děkuji

existující hodnota "x"     potřebuji vypsat "0x.00" // doplnit 3 x 0 
existující hodnota "x.x"   potřebuji vypsat "0x.x0" // doplnit 2 x 0 
existující hodnota "x.xx"  potřebuji vypsat "0x.xx" // doplnit 1 x 0 
existující hodnota "xx.xx" potřebuji vypsat "xx.xx" // nedělat nic, vše ok

existující hodnota "xxx"   potřebuji vypsat "xxx.00" // doplnit 2 x 0 
existující hodnota "xxx.x" potřebuji vypsat "xxx.x0" // doplnit 1 x 0 
existující hodnota "xxx.xx" potřebuji vypsat "xx.xx" // nedělat nic, vše ok
Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Bolo by lepšie, keby to boli naozaj existujúce "číselné údaje" a nie "takové" string...
pme 02.11.2015 12:55
pme
Špatně jsem ten příklad napsal, jedná se skutečně o čísla ne o string, sorry..
Honza Marek 02.11.2015 14:39
Honza Marek
Tu si to môžeš vyskúšať pre string: yp152n9z V prípade, že sú to naozaj čísla - odpadá vo funkcii pr…
pme 02.11.2015 14:47
pme
Díky moc, a co přesně dělá ta funkce Number() ? Nejsem z toho moudrý ani z manuálu jsref_number.asp…
Honza Marek 02.11.2015 15:13
Honza Marek
Oni to tam píšu: Convert different object values to their numbers Prevedie rôzne hodnoty na čísla.…
pme 02.11.2015 15:16
pme
No a proč tedy nepřevede i to poslední ? Výdledek je na výstupu NaN.. nový
Honza Marek 02.11.2015 15:23
Honza Marek
Jaké "poslední"??? Toto: "xxx.xx" 123.12 -> prevedie 123.12 Edit: jáj Ty myslíš v príkladoch Number… nový
pme 02.11.2015 15:25
pme
Mos děkuji za fce a info... nový
Honza Marek 02.11.2015 16:55
Honza Marek
Dneska jsem narazil na problém s tvou funkcí. Ono to nedosazuje 0 pokud je číslo záporné, já vím v z… nový
Honza Marek 26.11.2015 01:44
Honza Marek
30 riadkov kodu to nie je ani zďaleka, ale nejak takto: function myFunction(value) { var num = Numb… nový
pme 26.11.2015 09:47
pme
To se dá ještě zkrátit: function myFunction(value) { var num = Number(value); var str = Math.abs(nu… nový
Wikan 26.11.2015 10:18
Wikan
Díky moc chlapy ;-) poslední
Honza Marek 26.11.2015 22:28
Honza Marek

Dneska jsem narazil na problém s tvou funkcí. Ono to nedosazuje 0 pokud je číslo záporné, já vím v zadání jsem o tom nepsal, jelikož mě to ani nenapadlo, že taková situace může nastat. Je možná nějaká tvá úprava ? Já bych to svedl jen tak, že bych zjistil zda je první znak '-', pak bych to rozsekal do pole, zjistil počet znaků v poli[0] a dosadil chybějící 0 a znak '-'. Ale to je tak na 30 řádků kódu :-( Děkuji

30 riadkov kodu to nie je ani zďaleka, ale nejak takto:

function myFunction(value) {
    var num = Number(value); 
    var num1 = num;
    if (num < 0) num1 = (num * -1);
     
    var str = num1.toFixed(2);
    while (str.length < 5) str = "0" + str;
    if (num < 0) str = "-" + str;
    document.getElementById("demo").innerHTML = str ;
}

To se dá ještě zkrátit:

function myFunction(value) {
    var num = Number(value); 
     
    var str = Math.abs(num).toFixed(2);
    while (str.length < 5) str = "0" + str;
    if (num < 0) str = "-" + str;
    document.getElementById("demo").innerHTML = str ;
}

A pokud je "value" číslo, tak by se dal vyhodit i první řádek.

Zpět do poradny Odpovědět na původní otázku Nahoru