![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| mihail |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.10.2006 Репутация: нет Всего: нет |
Возможно обсуждалось, но не нашёл.
Итак действие происходит на С#: С=A/B; И допустим С получилось 4,235343464. Как сделать чтобы С было 4,235? |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
System.Math.Round()
|
|||
|
||||
| mihail |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.10.2006 Репутация: нет Всего: нет |
Нет, это не подходит. Math.Round() округляет до ближайшего целого, а это совсем не подходит. Надо чтобы число стало меньше по количеству знаков, а не округлялось.
вот кусок кода для чего мне это надо.
при выводе в комбо получается не красиво, т.к. переменная типа double после деления очень длинная. |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 8 Всего: 15 |
mihail, тебе же дали направление, мог бы покопаться. System.Math.Truncate(). Далее, если С нужно обрезать до целых System.Math.Truncate©; до десятых - System.Math.Truncate(10*C)/10, до сотых - System.Math.Truncate(100*C)/100 и т.д. -------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
mihail, Naum, Round для этих целей подходит более чем
В твоем случае надо делать так:
|
||||
|
|||||
| mihail |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.10.2006 Репутация: нет Всего: нет |
Всё, получилось!
способ Naum работает, а вот с Math.Round(C,n) совсем не работает.
Тему можно закрывать. Это сообщение отредактировал(а) mihail - 23.10.2006, 08:46 |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
||||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 8 Всего: 15 |
ivashkanet, ты немного не понял, надо не округлять, а просто обрезать. Это сообщение отредактировал(а) Naum - 23.10.2006, 09:22 -------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Ы? т.е при обрезании 0,1236 до трех знаков будет 0,123, а не 0,124 как при округлении? А наф такое надо? Кроме того: Math.Round(C - 0.0005 , 3) то что надо Это сообщение отредактировал(а) ivashkanet - 23.10.2006, 09:32 |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 8 Всего: 15 |
Поверь иногда надо. Например, у меня есть игрушка - рулетка. Там нескольо аналитических примамбасов. Есть расчет ставки по принципу вернуть выигрыш первоначальной ставки. Дробное число конечно не поставить. А при округлении не всегда выигрыш (если округление в меньшую сторону) приходиться отбрасывать дробную часть и прибавлять единицу. -------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |