Automatyczna konwersja double to string

0

Cześć,
mam klasę w stylu:

    class Klasa
        {
        private string _liczba = "0.00";
        public string liczba
            {
            get
                {
                return _liczba;
                }
            set
                {
                _liczba = value.Replace(",",".");
                Regex reg = new Regex("[^-0-9.]*");
                _liczba = reg.Replace(_liczba, "");
                }
            }
        }

I wszystko jest fajnie. Chciałem się jednak dowiedzieć czy jest możliwość, żeby do zmiennej liczba móc przypisać zmienną, która jest zadeklarowana jako double tj.

Klasa k = new Klasa();
double x = 123.213;
k.liczba = "123"; //to jest ok
k.liczba = x; //to już nie jest ok

Chodzi o to czy jest zrobienie takiej automatycznej konwersji? Tzn. chodzi o to, żeby przypisując double'a do stringa po pierwsze nie wywalało mi błędu po drugie móc zdefiniować jak program ma "przerobić" tego double'a na stringa (np. wcześniej zaokrąglić do 2 miejsc po przecinku etc.

0
double.TryParse(str, out var wynik)
2

Podstawowe pytanie - czemu trzymasz liczbę w stringu?
A jak już się upierasz przy tym rozwiązaniu to zrób po prostu:

k.liczba = x.ToString();

A logikę zaokrąglania zrób w tym seterze.
Albo napisz sobie extension method do double

public static string ToStringWithRound(this double value, int round)
            => Math.Round(value, round).ToString();

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