Określenie systemu zapisu liczby w text boxie

0

Zastanawiam się jak określić w jakim systemie została wprowadzona liczba w tex boxie w Windows Forms (binarnym,heksadecymalnym,oktalnym)?
Szukałem w klasie System.Convert http://msdn.microsoft.com/en-us/library/system.convert.aspx
ponieważ wpadłem na pomysł że mogę po prostu każdą wprowadzoną liczbę np. 1010 albo 702 albo ABF10 po prostu konwertować na dziesiętną i pod maską na nich wykonywać operacje jednak nie znalazłem takiej metody. Znacie jakiś optymalny sposób na zrobienie tego?

0

liczba:
10000
to poprawna liczba w każdym pozycyjnym systemie.
Czyli odpowiedź - nie da się.

0

Przyjęło się, że liczby w systemach innych niż dziesiętny oznacza się jakimś przedrostkiem, np. 0xDEAD albo $DEAD dla liczb szesnastkowych.
Jak to rozpoznać? String.StartsWith i inne metody, jak String.Substring, String.IndexOf.

0

@_13th_Dragon Jakbyś miał napisać klasę min. do przeliczania liczb między systemami to napisałbyś jedną metodę czy do każdego osobną np.

Bin -> Dec
Hex -> Dec
Oct - > Dec
Bin -> Hex
itd?

0

@Pytający12, czemu chcesz pisać coś, co już jest?

0

@somekind chce to wszystko wpakować w klase zeby potem jak bede przenosil pomiedzy WinForms , windows store itd to miec wszystko w jednym miejscu. poza tym ta klasa nie tylko bedzie przeliczac ;)

2

Tzn. chcesz, żeby Twoja klasa potrafiła zrobić to, co klasa Convert?

var szesnastkowo = "0xDEAD";

int liczba = Convert.ToInt32(szesnastkowo, 16);

var dwójkowo = Convert.ToString(liczba, 2);
var ósemkowo = Convert.ToString(liczba, 8);
var dziesiętnie = liczba.ToString();

Console.WriteLine(dwójkowo);
Console.WriteLine(ósemkowo);
Console.WriteLine(dziesiętnie);
0

@somekind
No tak

1 użytkowników online, w tym zalogowanych: 0, gości: 1