Предотвращение Double.parse от удаления задних нулей после десятичного времени?

StackOverflow https://stackoverflow.com/questions/4415596

  •  08-10-2019
  •  | 
  •  

Вопрос

При использовании Double.parse, кажется, что понравится натянуть любые задние (незначительные) нули из строки, которую я преобразую. Я хотел бы удваивать .pars, чтобы держать места после десятичного времени. Например, вот какой-то код:

tobereturned.MouseSensitivty = double.Parse(String.Format("{0:#.##}", tempstring[1]));
Debug.WriteLine("Converted " + String.Format("{0:#.##}", tempstring[1]) + " to " + tobereturned.MouseSensitivty);

Затем отладчик пишет

Преобразован 4,00 до 4

Так кажется, как Double.parse является делать что-то рыбное здесь. PS Mousesensitivity также имеет двойной тип, поэтому я не могу сделать какие-либо строковые операции на нем.

Это было полезно?

Решение

Ваш вопрос бессмыслен. Совершенно нет имеют «Места после десятичного» в первую очередь. Они не хранят все, что выглядит удаленно похоже на «десятичное представление номера» внутри. На самом деле, они не хранят ничего внутреннего, что даже выглядит как узнаваемый текст.

Он сообщает 4, потому что 4.00 точно равен 4. Он отображает номер «Ровно четыре без дробной части» в качестве текста в соответствии с его правилами по умолчанию для преобразования чисел для текста.

Пожалуйста прочти это. Отказ Да, это долго, и трудно, но просто невозможно использовать числовые типы с плавающей точкой должным образом без реальное понимание Из этого материала - и не имеет значения, какой язык вы используете, либо.

Другие советы

То double Тип данных - это просто число; Это не отслеживает отслеживание строки, которая была проанализирована для создания значения. Его строковое представление приходит только в игру, когда .ToString() называется.

Если вы знаете, что вы всегда хотите, чтобы два места после десятичного отказа вы можете правильно наполнить Zeros.

Это не работа двойного типа, чтобы отслеживать желаемый формат отображения.

Двойной не хранить избыточные нули. На вашем просмотре или слой презентации вы можете отформатировать его, чтобы показать, что вы хотите, например,, например, string.format ("{0: #. ##}", doubleVariable)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top