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