Portál AbcLinuxu, 10. května 2025 02:02
$ expr 5 / 2 2Python
>>> 5 / 2 2atd... Díky.
>>> 5.0 / 2.0 2.5
printf("%.4f", 5.0 / 2.0);
V bashi použij bc (před cca týdnem o něm vyšel článek na rootu). Ruby a Python nepoužívám.
long double
, nezbyde buď použít nějakou hotovou knihovnu typu GMP nebo si napsat vlastní implementaci.
Ale z těch vašich příkladů soudím, že pro začátek bude lepší začít dokumentací nebo učebnicí těch jazyků, konkrétně kapitolou o datových typech.
Ale z těch vašich příkladů soudím, ...K tomu to fakt nepotřebuju
5 / 2
' vám vyjde jako 2
, a komentujete to, že ten jazyk "zaokrouhluje a ještě špatně", vyplývá, že máte velmi nepřesnou představu o tom, jak je ten výraz vyhodnocován. A to byste si měl ve vlastním zájmu doplnit, pokud to s programováním myslíte vážně.
ruby -rmathn -e 'puts 5/2' 5/2 ruby -rmathn -e 'puts 225054544/55655613 + 856564/4545547' 82359123216100/19460400361947Zlomky (s čitateli a jmenovateli libovolné délky) nám rozhodně nechybí.
$ ruby -e 'print 5.0 / 2.2' 2.27272727272727 $ python -c 'print 5.0 / 2.2' 2.27272727273
01 DELENI 02 PRVNI-CLEN PIC 999V99. 02 DRUHY-CLEN PIC 999V99. 02 VYSLEDEK PIC 999V99. ... PROCEDURE DIVISION. MAIN-000. ... MOVE 5 TO PRVNI-CLEN. MOVE 2 TO DRUHY-CLEN. DIVIDE PRVNI-CLEN BY DRUHY-CLEN GIVING VYSLEDEK. ...Kód jsem netestoval, nemám tu překladač
5
je int (signed), a teda aj delenie je celočíselné.
bash to má popísané priamo v manuáli
tie dve zlátaniny na(ne)štastie nemam nainštalované )
zaujímavé, v perli je to hned 2.5
zaujímavé, v perli je to hned 2.5Teď teda nevím, jestli to brát jako plus, nebo mínus ... vzhledem k tomu, že Perl moc nemusím ...
int
1/2 //returns 0.5 in JavaScript
echo ${premenna%??}.${premenna: -2}
${premenna%??}
je zde lepší použít ${premenna:0:1}
(první číslo je od kolikátýho znaku a druhý kolik znaků).
${#zjistit}
, ale to je v tomhle případě zbytečný. To je tak, když člověk dělá chytrýho.
Všechny tyto jazyky defaultně zaokrouhlují a ještě k tomu blbě...Neni to zaokruhlovanie ale delenie zo zvyskom!
$ expr 5 / 2 2 $ expr 5 % 2 1Cize 5 deleno 2 je 2 a zvysok 1 (uplne normalna matika ;o). V C(++) staci ked su cisla v niecom co ma desatinne miesta (fload, double) alebo to pretipujes pred delenim.
$ echo "5/2" | bc -l 2.50000000000000000000 $Ostatne moc nepoznam.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.