У меня есть двойной "138630.78380386264"
, и я хочу преобразовать его в десятичную, однако, когда я это делаю, я делаю это либо путем литья, либо с помощью Convert.ToDecimal()
, и я теряю точность.
Что происходит? Оба десятичных и двойных могут содержать это число:
double doub = double.Parse("138630.78380386264");
decimal dec = decimal.Parse("138630.78380386264");
string decs = dec.ToString("F17");
string doubse =DoubleConverter.ToExactString(doub);
string doubs = doub.ToString("F17");
decimal decC = (decimal) doub;
string doudeccs = decC.ToString("F17");
decimal decConv = Convert.ToDecimal(doub);
string doudecs = decConv.ToString("F17");
Также: как я могу заставить ToString()
on double распечатать тот же результат, что и отладчик? например 138630.78380386264
?