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