NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
beats.omni
Člen
Avatar
beats.omni:18.7.2015 11:03

Ahoj, potřebuji porovnávat verze, ale nevím, jaký datový typ pro ně použít.

Například mám proměnné

a = 3.5.1
b = 4.2

A teď potřebuji něco jako

if (a >= b)
Editováno 18.7.2015 11:03
 
Odpovědět
18.7.2015 11:03
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na beats.omni
Jan Vargovský:18.7.2015 11:19

Odstran tečky, preved na int, porovnej.

 
Nahoru Odpovědět
18.7.2015 11:19
Avatar
Majkel
Člen
Avatar
Odpovídá na Jan Vargovský
Majkel:18.7.2015 11:31

Tady bych si dovolil nesouhlasit. V tom případě bude mít verzi 3.5.1 = 351 a verzi 4.2 = 42. Takže výsledkem bude že 351 > 42. Přitom verze 4.2 (42) je více než verze 3.5.1 (351).

Řešení:

var verzeA = new Version(a)
var verzeB =  new Version(b)

if (a >= b)

více zde: https://msdn.microsoft.com/en-us/library/system.version(v=vs.110).aspx
Editováno 18.7.2015 11:31
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
18.7.2015 11:31
Avatar
Odpovídá na beats.omni
Patrik Valkovič:18.7.2015 11:38

Rozdělit podle teček a porovnat jednotlivé čísla
a.b.c
x.y.z

a<x
b<y
c<z

nesmíš to porovnávat zaráz, ale postupně. Jakmile dvě čísla nejsou souhlasné, je jasné, že se jedná o dvě rozdílné verze.

Editováno 18.7.2015 11:38
Nahoru Odpovědět
18.7.2015 11:38
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Majkel
Jan Vargovský:18.7.2015 12:18

Ajo, já v tu chvílli vstal, tak jsem to moc nevnímal :D

 
Nahoru Odpovědět
18.7.2015 12:18
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 5 zpráv z 5.