Подтвердить что ты не робот

Как преобразовать в double с точностью 2 - строка после точки?

Я хочу преобразовать эту строку: 0.55000000000000004 в это двойное: 0.55. Как это сделать?

4b9b3361

Ответ 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.

Прочтите Руководство по плавающей запятой, чтобы понять, почему.