c# - odstraneni plovouci carky Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
martin131
Level 2
Level 2
Příspěvky: 185
Registrován: říjen 07
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

c# - odstraneni plovouci carky

Příspěvekod martin131 » 20 črc 2008 14:17

Cauky,
resim takovy maly problem, mam promenou abc, ktere se meni pocet desetinych mist (tzn. napr. 25.37836, jindy zase 32.228472), promenna ma datovy typ double, tim padem nelze porovnavat, ale ja potrebuji porovnavat pouze to cele cislo, bez desetinnych mist. Proste se jich potrebuji nejak zbavit a nasledne prekonvertovat do jineho datoveho typu napr. int. Mozna by to slo tak, aby se to cislo pri vypoctu promenne abc zakrouhlilo, ale ja nevim jak na to.

Budu rad za kazdickou i sebemensi pomoc.
WS - i5@2.8Ghz, 4GB RAM, 640GB, Ati Radeon X5850, Se7en
NTB - Intel Atom D525, 4GB RAM, 320GB, Nvidia Ion 2, Se7en

SERVER - P4 2,8 Ghz, 1GB RAM, 320GB, Debian

Ukládání streamovaného videa do počítače pomocí programu VLC

Reklama
Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: listopad 05
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod Koja » 20 črc 2008 14:40

Jen tak narychlo mě napadlo .. to číslo by šlo rozsekat pomocí .Split('.') do pole. V pole[0] by bylo to číslo před tečkou a v pole[1] by bylo to číslo za tečkou. A to pole[0] si potom můžeš převádět a porovnávat jak chceš :wink:
Everybody lies so don't trust anyone. :)

Uživatelský avatar
martin131
Level 2
Level 2
Příspěvky: 185
Registrován: říjen 07
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod martin131 » 20 črc 2008 14:57

tak ted zas nevim jak se ten split pouziva :-) . Mam promenou

Kód: Vybrat vše

float abc = 22,98876;
a nevim co dal. Dalsim problemem je, ze float (asi) nelze prekonvertovat do cehokoliv jineho, co by to porovnavani umelo :-(
WS - i5@2.8Ghz, 4GB RAM, 640GB, Ati Radeon X5850, Se7en
NTB - Intel Atom D525, 4GB RAM, 320GB, Nvidia Ion 2, Se7en

SERVER - P4 2,8 Ghz, 1GB RAM, 320GB, Debian

Ukládání streamovaného videa do počítače pomocí programu VLC

Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: listopad 05
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod Koja » 20 črc 2008 15:13

Nevím proč, ale Visual Studio mi nechce vzít

Kód: Vybrat vše

float abc = 22,98876;

píše mi to Identifier expected, ale když ho načtu z TextBoxu, tak to funguje normálně ..

Ale tohle

Kód: Vybrat vše

float abc = 22,98876;
string x = abc.ToString();
string[] pole;
pole = x.Split(',');

by mělo být to, co potřebuješ :wink:
potom pole[0] bude to před tečkou/čárkou a pole[1] bude ten zbytek :)
Everybody lies so don't trust anyone. :)

Uživatelský avatar
martin131
Level 2
Level 2
Příspěvky: 185
Registrován: říjen 07
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod martin131 » 20 črc 2008 15:24

moc diky, ted jen nevim, jestli uz to tu promenou pole[1] vytvorilo a v jakem datovem typu pripadne je
WS - i5@2.8Ghz, 4GB RAM, 640GB, Ati Radeon X5850, Se7en
NTB - Intel Atom D525, 4GB RAM, 320GB, Nvidia Ion 2, Se7en

SERVER - P4 2,8 Ghz, 1GB RAM, 320GB, Debian

Ukládání streamovaného videa do počítače pomocí programu VLC

Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: listopad 05
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky  Vyřešeno

Příspěvekod Koja » 20 črc 2008 15:30

string[] pole; //tady sis zadeklaroval pole typu string
pole = x.Split(','); //a tady jsi ho pomocí Splitu naplnil a rozdělil

Split dělá vpodstatě to, že vezme nějakej celej string a rozdělí ho na víc částí, pomocí toho oddělovače (tady je to ta čárka). Takže kdyby ten string byl například 365,12435,864,3578 .. tak Split ti udělá
pole[0] = 365
pole[1] = 12435
pole[2] = 864
pole[3] = 3578
...

Takže v tom, co sem ti poslal se ti už vytvořilo pole[0] a pole[1], oboje jako string. Takže když to budeš chtít potom porovnávat, tak to musíš přetypovat do nějaký proměnný. Například
int x = int.Parse(pole[0]);
int y = int.Parse(pole[1]);

a pak je můžeš porovnávat :)
Everybody lies so don't trust anyone. :)

Uživatelský avatar
martin131
Level 2
Level 2
Příspěvky: 185
Registrován: říjen 07
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod martin131 » 20 črc 2008 15:51

aha uz to zacinam chapat. :-) vsechno jde, ale pri tom porovnavani to pise Operator '<' cannot be applied to operands of type 'int' and 'string'
WS - i5@2.8Ghz, 4GB RAM, 640GB, Ati Radeon X5850, Se7en
NTB - Intel Atom D525, 4GB RAM, 320GB, Nvidia Ion 2, Se7en

SERVER - P4 2,8 Ghz, 1GB RAM, 320GB, Debian

Ukládání streamovaného videa do počítače pomocí programu VLC

Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: listopad 05
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod Koja » 20 črc 2008 15:54

Tak jsi něco nepřetypoval a zkoušíš porovna int a string. Zkontroluj si, jestli jsou obě proměnné, které porovnáváš vážně int.
Everybody lies so don't trust anyone. :)

Uživatelský avatar
martin131
Level 2
Level 2
Příspěvky: 185
Registrován: říjen 07
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod martin131 » 20 črc 2008 16:06

tak ted jsem se zrejme spatne vyjadril, ja neporovnavam 2 hodnoty, ja podminuji jednu

Kód: Vybrat vše

            if (bmi0 < "18")
                Console.WriteLine("to " + "znamená, " + "že " + "máte " + "podváhu.");


bmi0 je urcite int
WS - i5@2.8Ghz, 4GB RAM, 640GB, Ati Radeon X5850, Se7en
NTB - Intel Atom D525, 4GB RAM, 320GB, Nvidia Ion 2, Se7en

SERVER - P4 2,8 Ghz, 1GB RAM, 320GB, Debian

Ukládání streamovaného videa do počítače pomocí programu VLC

Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: listopad 05
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod Koja » 20 črc 2008 16:13

if (bmi0 < "18") -> if (bmi0 < 18) a mělo by to fungovat :)

Jinak
Console.WriteLine("to " + "znamená, " + "že " + "máte " + "podváhu."); můžeš klidně napsat i jako Console.WriteLine("to znamená, že máte podváhu."); :wink:
Everybody lies so don't trust anyone. :)

Uživatelský avatar
martin131
Level 2
Level 2
Příspěvky: 185
Registrován: říjen 07
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod martin131 » 20 črc 2008 16:21

to me necvaklo :-), ted to sice nehlasi zadnou chybu, ale kdyz tu aplikaci spusti tak to podle tej podminky nic nenapise


konec toho kodu vypada takto:

Kód: Vybrat vše

   
            // odstraneni desetinne carky
            string x = bmi2.ToString();
            string[] pole;
            pole = x.Split(',');

         

            int bmi0 = int.Parse(pole[0]);
            Console.WriteLine(bmi0);
           
           



           

            // vyhodnoceni BMI
           
             
            if (bmi0 < 18)
                Console.WriteLine("to " + "znamená, " + "že " + "máte " + "podváhu.");
            if (bmi0 == 19 - 25)
                Console.WriteLine("to " + "znamená, " + "že " + "máte " + "optimální " + "váhu.");
;
WS - i5@2.8Ghz, 4GB RAM, 640GB, Ati Radeon X5850, Se7en
NTB - Intel Atom D525, 4GB RAM, 320GB, Nvidia Ion 2, Se7en

SERVER - P4 2,8 Ghz, 1GB RAM, 320GB, Debian

Ukládání streamovaného videa do počítače pomocí programu VLC

Uživatelský avatar
Koja
Level 4.5
Level 4.5
Příspěvky: 1909
Registrován: listopad 05
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# - odstraneni plovouci carky

Příspěvekod Koja » 20 črc 2008 16:25

Mohl bys mi poslat celej ten zdroják? Nebo aspon od načtení toho čísla, přes převedení až po tu podmínku..
Everybody lies so don't trust anyone. :)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti