1

Téma: Matematicke zaokruhlovanie

Dobry den,
ako sa da v SDS-C matematicky zaohruhlovat?
(t.j. ak cislo > 5 tak nahor, inak nadol)
vopred vdaka.

SDS Macro LCD 485 hw SoC-ARM REV1 100Mbit DF5

2

Re: Matematicke zaokruhlovanie

Na wiki SDS jsem nenašel ani round ani ceil ....
Myslím, že je lepší data ponechat v původní hodnotě a až při zobrazení použít v PHP matematické funkce:
echo round(3.4); // 3
echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.8765, 2); // 1.88
echo round(1241, -3); // 1000
echo round(5.045, 2); // 5.05

echo ceil (10.1); //11
echo ceil (10.5); //11

SDS micro DIN - firmware 8.7.2014, SDS micro DIN - firmware Beta xx.x.2014
SDS nováček :-) Správce sítě, programátor, kutil .... :-)

3

Re: Matematicke zaokruhlovanie

To co je vypsáno v předchozím příspěvku se týká PHP, nikoliv ale SDS-C.

SDS-C pracuje pouze s celými čísly.

Návod jak si "pomoct" pokud je potřeba pracovat s desetinnými čísly je na WiKi. Prakticky jde o to, že se hodnota vynásobí deseti, stem, atd. podle toho na kolik míst je potřeba přesnost.

Zaokrouhlovaní - je potřeba uvést více informací.

Každopádně, pokud je možnost přenést zpracovávání na server (kde se dá spustit PHP), pak by složité výpočty raději dělal na serveru.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

4

Re: Matematicke zaokruhlovanie

adamn napsal:

To co je vypsáno v předchozím příspěvku se týká PHP, nikoliv ale SDS-C.

SDS-C pracuje pouze s celými čísly.

Návod jak si "pomoct" pokud je potřeba pracovat s desetinnými čísly je na WiKi. Prakticky jde o to, že se hodnota vynásobí deseti, stem, atd. podle toho na kolik míst je potřeba přesnost.

Zaokrouhlovaní - je potřeba uvést více informací.

Každopádně, pokud je možnost přenést zpracovávání na server (kde se dá spustit PHP), pak by složité výpočty raději dělal na serveru.


Každopádně souhlas, výpočty dělat až na serveru kam přenáším data. Buď přímo za běhu php nebo uložením do db a následným zpracováním.  Možností je několik.

Já bych však potřeboval vyřešit případ, když do sds pošlu pro sys[140] číslo 123456789 jak jej rozdělit např. po trojicích, tedy abych dostal 3 proměnné, jejichž x=123, y=456, z=789

Díky,
L.

5

Re: Matematicke zaokruhlovanie

Tohle by mohlo pomoct: http://forum.merenienergie.cz//viewtopic.php?id=359

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

6

Re: Matematicke zaokruhlovanie

Čili neco jako:

  _prvnitrojka=sys[141]/1000000;
  _pom=sys[141] % 1000000;
  _druhatrojka=_pom/1000;
  _tretitrojka=_pom % 1000;

7

Re: Matematicke zaokruhlovanie

j@m napsal:

Čili neco jako:

  _prvnitrojka=sys[141]/1000000;
  _pom=sys[141] % 1000000;
  _druhatrojka=_pom/1000;
  _tretitrojka=_pom % 1000;


JJ, díky již jsem vyřešil ..

vezmi_udaje_145
{
var test1 test2 test22 test3;
if (sys[145] == 0) return; // neni-li sys[140] nulove ...
test1 = sys[145] / 1000000;
test22 = sys[145] / 1000;
test2 = test22 % 1000;
test3 = sys[145] % 1000;




echo ('Doslo ke zmene z http sys145 dostal jsem 'sys[145],' ',sys[5],'.',sys[6],'.',sys[7],' - ',sys[8] ,':',sys[9],':',sys[10]);

echo ('test1 je 'test1);
echo ('test2 je 'test2);
echo ('test3 je 'test3);


sys[145] = 0;   // prave jsem to zapsal, takze at se mi ten zapis porad neopakuje
return;
}

výpis konzole ..
Doslo ke zmene z http sys145 dostal jsem 123456789 1.1.2013 - 17:25:22
test1 je 123
test2 je 456
test3 je 789


L.