Я хочу преобразовать эту строку: 0.55000000000000004
в это двойное: 0.55
.
Как это сделать?
Как преобразовать в double с точностью 2 - строка после точки?
Ответ 1
Является ли строка или двойной? Если это строка:
double d = double.Parse(s,CultureInfo.InvariantCulture);
string s=string.Format("{0:0.00}",d);
если это уже двойной формат, используя вторую строку.
Ответ 2
этот код можно использовать для уменьшения точности:
double m = Math.Round(0.55000000000000004,2);
Результат: 0.55
Ответ 3
Нет двойного 0,55 - число не может быть точно представлено как двоичная дробь. Скорее всего, это причина, по которой вы получили эту длинную строку. Вероятно, вы должны использовать тип decimal
вместо double
.
Прочтите Руководство по плавающей запятой, чтобы понять, почему.