1

Téma: Jak zobrazovat vždy douciferná čísla

Ahoj, jak můžu zobrazit vždy dvouciferné číslo?

echo (sys[5]) ;  vypisuje dny ve tvaru : 1,2,3,4,5,6,7,8,9,10,11, atd......

potřebuji ale vypsat dny ve tvaru : 01,02,03,04,05,06,07,08,09,10,11, atd......

poradí  někdo? Díky

2

Re: Jak zobrazovat vždy douciferná čísla

Nevím, jestli na to není něco chytřejšího, ale možná bude potřeba použít něco jako

if ( sys[5] < 10 ) ... echo "0"
...a pak v každém případě
echo (sys[5])

omlouvám se, že to neumím zapsat přímo v SDS syntaxi, ale SDS-C je hodně "komplikované" a neumím ho smile Budete muset nějak použít label a goto.

Osobně používám skvělý pre-procesor https://github.com/MightyPork/sdscp
V kódu se pak dokážu vyznat i po delší době, protože je to mnohem podobnější běžnému C.

Ve svém programu mám funkci, která do pole text na určenou pozici "index" vloží teplotu na jedno destinné místo. Není to sice 0 před celou částí čísla, ale nula před desetinou částí. Ale přiznám se, že už nevím, proč to vlastně mám takto.

teplota_str(teplota, index) {
    var cela = teplota / 100;
    var des = _abs(teplota % 100);
    sprintf(text[index], cela, ".");
    if ( des < 10 ) {
        sprintf(text[_SPRINTF_END], "0");
    }
    sprintf(text[_SPRINTF_END], des, "C");
    return index;
}

// použití....
var tstrt = teplota_str(_TEMP[cidlo], 20);   // na pozici 20 v poli text[] uloží teplotu, např. 5.08C nebo 12.30C nebo 21.41C
echo(" teplota: ", text[tstrt])

3

Re: Jak zobrazovat vždy douciferná čísla

jj, přesně, buď použít výborný SDSCP od MightyPorka, nebo přejít na FULL-C (SDS Druhé Produktové Řady)


každopádně nejrychlejší je něco takového:

 if (sys[5]<10) { echo("0", sys[5]; } else {echo(sys[5]);};
Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !