У меня есть некоторые значения с плавающей точкой, которые я хочу преобразовать в строку, при преобразовании я хочу сохранить одинаковое форматирование, т. Е. 999.0000 (с плавающей точкой) -> 999.0000 (строка). Моя проблема в том, что значения содержат произвольное количество нулей после десятичной запятой, как в предыдущем примере, они удаляются при преобразовании в строку, поэтому результат, который я на самом деле получаю, равен 999.
Я посмотрел на спецификаторы формата для метода toString()
на MSDN , спецификатор RoundTrip ('R') выглядит так, как будто он выдаст то, что я хочу, но поддерживается только для Single, Double и переменные BigInt. Есть ли спецификатор формата для переменных типа float? Или было бы проще просто преобразовать значения в двойные?
ОБНОВЛЕНИЕ: просто для ясности, причина, по которой я хочу сохранить конечные нули, заключается в том, что я делаю сравнение десятичных разрядов, т.е. я сравниваю количество цифр после десятичного разряда между двумя значениями. Так, например, 1.00 и 1.00000 имеют разное количество цифр после десятичной точки. Я знаю, что это странная просьба, она для работы, и требование исходит сверху.
ОБНОВЛЕНИЕ 2-3-11:
Я слишком много думал об этом, я читаю числа из txt-файла и затем анализирую их как числа с плавающей точкой. Я собираюсь изменить программу, чтобы проверить, являются ли строковые значения десятичными или целыми числами. Извините, что потратил ваше время, хотя это было очень проницательно.