Avatar
beats.omni
Člen
Avatar
beats.omni:

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ý
Redaktor
Avatar
Odpovídá na beats.omni
Jan Vargovský:

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:

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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 18.7.2015 11:31
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na beats.omni
patrik.valkovic:

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ý
Redaktor
Avatar
Odpovídá na Majkel
Jan Vargovský:

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.