NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Jak určit, jestli je číslo desetinné, nebo ne

Aktivity
Avatar
tomgerzicak
Člen
Avatar
tomgerzicak:30.1.2016 19:52

Ahoj, při vypisování výsledků (klasicky writeln()) z vypočítaného příkladu mi vypíše např. 2.00, dá se nějak zjistit, jestli je dané číslo pouze celé a potom to upravit podmínkou aby se tam ta desetinná místa nepsala? Děkuji :D

 
Odpovědět
30.1.2016 19:52
Avatar
Odpovídá na tomgerzicak
Michal Haňáček:30.1.2016 20:21

Ahoj, pokud tě pro další zpracování nazajimá jestli je číslo desetinné tak můžeš pouze naformátovat výstup, např. funkcí FloatToStr.

Každopádně nanapsal jsi sem jakého dat. typu jsou výsledky, na co tu úpravu potřebuješ. Tak dufám, že ti taková odpověď bude stačit.

Nahoru Odpovědět
30.1.2016 20:21
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
DooM
Tvůrce
Avatar
DooM:30.1.2016 20:49
bool IsDecimal(float num)
{
    return (num - Math.Floor(num) != 0) ? true : false;
}

Syntaxi Delphi neznám, tak jsem použil C#, snad si to dokážeš přepsat.

Nahoru Odpovědět
30.1.2016 20:49
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
DooM
Tvůrce
Avatar
DooM:30.1.2016 20:51

A nebo jsem rovnou mohl taky napsat

bool IsDecimal(float num)
{
 return (num != Math.Floor(num)) ? true : false;
}

hehe :)

Nahoru Odpovědět
30.1.2016 20:51
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
1Pupik1989
Člen
Avatar
Odpovídá na DooM
1Pupik1989:30.1.2016 21:33

Nebo můžeš použít 2x vykřičník, aby se to porovnávalo jako boolean.

 
Nahoru Odpovědět
30.1.2016 21:33
Avatar
tomgerzicak
Člen
Avatar
Odpovídá na Michal Haňáček
tomgerzicak:30.1.2016 21:55

Děkuji moc za pomoc, chápu váš úmysl, mohl bych se ještě zeptat na funkci v PASCALU, která zaokrouhlí nahoru vždy, i když je tam třeba 0.2? děkuji :)

 
Nahoru Odpovědět
30.1.2016 21:55
Avatar
tomgerzicak
Člen
Avatar
tomgerzicak:31.1.2016 12:46

Děkuji, nakonec jsem to vyřešil nějak takto a funguje to :D

procedure vypisVysledky (var x1, x2:extended);
    begin
      if (Frac(x1) = 0) then
          Writeln('1. koren kvadratické rovnice je: ', x1:0:0)
      else
        writeln('1. koren kvadratické rovnice je: ', x1:0:2);

      if (Frac(x2) = 0) then
        Writeln('2. koren kvadratické rovnice je: ', x2:0:0)
      else
        writeln('2. koren kvadratické rovnice je: ', x2:0:2);
Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
31.1.2016 12:46
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.