| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Сохранение float в txt файле |
| Автор: okaton 6.10.2007, 13:41 |
| Доброго времени суток. Вопрос тупее некуда У меня есть переменная типа float и она сохраняется в файле, значение в ней получаются иногда целыми. И в файле сохраняются без дробной части. Вот мне нужно чтобы например 95 в файле сохранялось как 95.0, как это сделать? Вот чего я не понимаю так это почему переменная хранится в памяти с дробной частью, а сохраняется без? |
| Автор: mr.DUDA 6.10.2007, 13:46 |
| Код покажите. |
| Автор: okaton 6.10.2007, 14:45 | ||||
Ну например вот такой
или такой
все объявляется как float |
| Автор: 1stain 6.10.2007, 15:12 | ||||
только учти, что сохранит с разделителем целой и дробной частей, который принят в текущей локали. при парсинге текстового файла придецца указать IformatProvider, с которым ты сохранял в текстовый файл. Например, так:
|
| Автор: okaton 6.10.2007, 15:33 | ||
| 1stain, А как мне эту запись внедрить вот сюда
у меня здесь задаются параметры формата строки |
| Автор: okaton 6.10.2007, 19:05 |
| А все-таки как сделать так чтобы при сохранении в файл .0 не исчезал, ведь он же хранится в памяти глупо было бы его дописывать? |
| Автор: mr.DUDA 6.10.2007, 23:01 |
| Можно глупый вопрос: обязательно в текстовый файл сохранять ? |
| Автор: okaton 6.10.2007, 23:06 |
| да |
| Автор: tol05 6.10.2007, 23:28 | ||
|
| Автор: tol05 7.10.2007, 21:40 | ||||
Почитал. Ну и что?
iad, я предложил указать конкретный вариант форматирования числа. Что-то не так? |
| Автор: iad 8.10.2007, 09:34 |
| Format прекрасно справляется с округлением до нужного знака и использование Math.Round здесь как корове седло |
| Автор: okaton 8.10.2007, 10:15 |
| iad, Сначало я округлял Math.Round, потому что мне нужно было округлить. Потом мне посоветовали string.Format для форматирования данных в сохраняемом файле, про то что он прекрасно справляется с округлением до нужного знака я не знал (кстати узнал только что от вас). MSDN я читал, но видимо от меня что-то ускользнуло. Всем спасибо за советы, вчера инета не было, а проект нужно было сдавать. Понять в чем дело я не смог, пришлось обработчик писать на нулевую дробную часть и дописывать (,0 ). Хоть и результат тот же, но для себя я считаю что это неправильный путь решения:( |
| Автор: 1stain 8.10.2007, 11:06 | ||||
жаль нету смайла "suicide" вот запись элементов массива в текстовый файл с пробелами и прочей чепухой
так, как используется Math.Round() у тебя, нет никакой разницы с отбрасыванием "лишних" знаков после запятой, которое делает String.Format. Зато выполняется лишняя работа - сначала округляем через Math.Round(), а потом все равно вызываем String.Format() |
| Автор: mr.DUDA 8.10.2007, 11:25 | ||
|