![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: 1 Всего: 2 |
Имеется PropertyGrid, в кот отображаются значения свойств класс.
Свойства имеют тип double, при отображаении числа в propertygrid'е, число отображается с длинным "хвостом" дробной части. Как оставить только 2 знака после запятой? метод Round, округляет, но хвост всё равно остается. Мне нужно просто отбросить все знаки после 2 знака после запятой. К decimal не очень хочется переходить, ибо придется очень много править |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 17 Всего: 59 |
Скриншот того, что остается после Round... Очень интересно...
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: 1 Всего: 2 |
я так понял, что это проблема с тем, что double хранится не в десятичной системе
после округления может оставать что-нибудь типа этого 1,210009999987, либо округление нормально проходит. В общем всё-таки перезжаю на decimal, сделал так
Это сообщение отредактировал(а) IGV - 29.4.2009, 09:32 |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
IGV, Math.Truncate и не нужны никакие переезды на decimal...
-------------------- СУВ, Partizan. |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 17 Всего: 59 |
Используй Math.Truncate(...)
Добавлено через 24 секунды Partizan, опередил -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: 1 Всего: 2 |
я пробовал, при делении на 100, опять получается длинный хвост!
|
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
я так понял вам нужно вот это:
... это кусок из кода по этому переделывать не стал, но думаю принцип ясен - {1:#.####} - задает количество знаков после запятой Добавлено через 6 минут и 35 секунд хотя может я все таки не так понял задачу... |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 17 Всего: 59 |
Понял я в чем твой трабл. Ты сначала округляешь, а потом на 100 делишь... плохо это... дели сначала на 100, а потом округляй:
Вот с этим кодом проблемы хвостов нет! -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: 1 Всего: 2 |
||||
|
||||
| DVariuS |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 10.2.2009 Где: Ukraine Репутация: 5 Всего: 8 |
IGV, запость участок кода, в котором ты выполняешь преобразование - будет более понятно где ошибка и тебе быстрее помогут
|
|||
|
||||
| -Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 17 Всего: 59 |
Сделал такой класс:
Поставил PropertyGrid и Button на форму и написал:
Нажимал, нажимал и еще раз нажимал на кнопку, но ни разу не вышло хвоста! Хвост выходил только(!), если после округления я делил число на 100. Потому я и подумал что ты делишь. Но Round работает безотказно у меня. Давай сюда свой код, будем смотреть! -------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |