Вопрос № 166181: Здравствуйте, ув. эксперты. Ламерский вопрос. Никогда не сталкивался с преобразованием double в string. А тут пришлось. Как избавиться от отображения чилсла в экспоненциальном виде. Например: <div style="margin:15px; margin-top:10px"><di...
Вопрос № 166.181
Здравствуйте, ув. эксперты. Ламерский вопрос. Никогда не сталкивался с преобразованием double в string. А тут пришлось.
Как избавиться от отображения чилсла в экспоненциальном виде. Например:
Код:
double n = (double)1/99999; //В этом месте в отладке видно, что число равно
0.00001000010000100001 //Преобразуем число в строку с учетом региональных настроек lNumber.Text = String.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:R}", n); //А вот тут уже 1.000010000100001E-05 //lNumber.Text = Convert.ToString(this.Session["First operand"], System.Globalization.CultureInfo.InvariantCulture);
А мне нужно его вывести именно в том виде, в к. оно есть, без экспоненты. Пер
ерыл все возможные варианты. Смотрел NumberStyles. Но там можно только разрешить экспоненциальный вид, а как запретить? Я даже согласен на частичную потерю точности. Имеется в виду, что мне не нужны все знаки после запятой, а, скажем, только 10. Но важно, чтобы они были в чистом виде.
Может быть есть какой-то обходной метод, через промежуточное преобразование?
Отвечает: Челноков Виктор Альбертович
Здравствуйте, Грибенников Александр Сергееви! А попробуйте через преобразование в decimal double n = (double)1/99999; decimal d=(Decimal)n; lNumber.Text =d.ToString(); Конечно теряется точность.
#thank 248438 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Великолепно, Маэстро! Кстати, потеря точности допустима для моей задачи.
Отвечает: DrakoN
Здравствуйте, Грибенников Александр Сергееви! А вот так это делаеться правильно, кеоличество нулей соотвествует урезанию точности private static string FormtMe(decimal Value) {
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.