powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Ликбез
25 сообщений из 33, страница 1 из 2
Ликбез
    #39870157
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDE: C#, Visual Studio 2019, Windows10Pro

авторint period = 200;
// user ввёл sum = 5000;
decimal sum = Convert.ToDecimal(Console.ReadLine());
for (int i = 1; i <= period; i++)
{
sum += sum * 0.07M; // что значит 0.07M ?
}
Console.WriteLine($"При {period} сумма = {sum}");

// выведенный результат:

При 200 sum = 3 011 726 486,6179016406176431825

1) Как округлить sum до 2-х 3-х знаков после точки?
2) что значит 0.07M ?
Спасибо.

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
Ликбез
    #39870198
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vova_1805,

суффикс m или M преобразует литерал в decimal:
https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types
...
Рейтинг: 0 / 0
Ликбез
    #39870200
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Math.Round()
2) Литерал для типа decimal
...
Рейтинг: 0 / 0
Ликбез
    #39870201
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vova_1805Как округлить sum до 2-х 3-х знаков после точки?
https://docs.microsoft.com/ru-ru/dotnet/api/system.math.round
...
Рейтинг: 0 / 0
Ликбез
    #39871097
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, округление имеет смысл только при визуальном восприятии.
https://docs.microsoft.com/ru-ru/dotnet/api/system.decimal.tostring?view=netframework-4.8#System_Decimal_ToString_System_String_
...
Рейтинг: 0 / 0
Ликбез
    #39871408
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВВообще, округление имеет смысл только при визуальном восприятии
С какого перепугу?
...
Рейтинг: 0 / 0
Ликбез
    #39871538
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилЕвгенийВВообще, округление имеет смысл только при визуальном восприятии
С какого перепугу?
Ну как же?
Объем памяти ты этим не уменьшишь, decimal фиксированной ширины.
...
Рейтинг: 0 / 0
Ликбез
    #39871540
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

Ты же понимаешь, что округление, потом сложение или сложение, потом округление - дадут разные результаты? И причем тут визуальное восприятие?
...
Рейтинг: 0 / 0
Ликбез
    #39871746
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВИзопропилпропущено...

С какого перепугу?
Ну как же?
Объем памяти ты этим не уменьшишь, decimal фиксированной ширины.

Могу ошибиться, т.к. уже лет 10 этим не занимался и все забыл, но, например, в бухгалтерии по правилам положено округлять до 4 знаков после каждой операции.
...
Рейтинг: 0 / 0
Ликбез
    #39871781
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatЕвгенийВпропущено...

Ну как же?
Объем памяти ты этим не уменьшишь, decimal фиксированной ширины.

Могу ошибиться, т.к. уже лет 10 этим не занимался и все забыл, но, например, в бухгалтерии по правилам положено округлять до 4 знаков после каждой операции.
там еще и алгоритм округления свой, с блек джеком и прочими прелестями
...
Рейтинг: 0 / 0
Ликбез
    #39871800
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesтам еще и алгоритм округления свой, с блек джеком и прочими прелестями

Он так и называется "Банковское округление" .
...
Рейтинг: 0 / 0
Ликбез
    #39871830
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЕвгенийВ,

Ты же понимаешь, что округление, потом сложение или сложение, потом округление - дадут разные результаты? И причем тут визуальное восприятие?
Ну конечно, округление=изменение.
Только зачем округлять перед расчетом? Терять точность?
Ну а человеку зачем больше 2 знаков после запятой?
...
Рейтинг: 0 / 0
Ликбез
    #39871840
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВТолько зачем округлять перед расчетом? Терять точность?
Ну а человеку зачем больше 2 знаков после запятой?

Я же тебе говорю - потому что это может быть обусловлено какими-то политиками, правилами, регламентами и т.п. Этак можно заявить "Нахера вычислять подоходный налог по 6%, проще ведь по 5".
...
Рейтинг: 0 / 0
Ликбез
    #39872052
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
fkthatЕвгенийВпропущено...

Ну как же?
Объем памяти ты этим не уменьшишь, decimal фиксированной ширины.

Могу ошибиться, т.к. уже лет 10 этим не занимался и все забыл, но, например, в бухгалтерии по правилам положено округлять до 4 знаков после каждой операции.
Это в США так положено, до сотых цента
fkthatЕвгенийВТолько зачем округлять перед расчетом? Терять точность?
Ну а человеку зачем больше 2 знаков после запятой?

Я же тебе говорю - потому что это может быть обусловлено какими-то политиками, правилами, регламентами и т.п. Этак можно заявить "Нахера вычислять подоходный налог по 6%, проще ведь по 5".
+1

Предположим предприятие купило 100 кг спирта по цене 200 руб/кг. Сумма 20 000 руб.
Оптовому покупателю сделали скидку и фактически спирт обошелся в 19 983.45 руб.

Регулярно сприт списывался на производство по одному кг. Цена за 1 кг - это цена за 100, деленная на 100.
То есть выписывалось по 199.8345 (мы крутые, храним 4 знака).

Однако в документах нельзя писать доли копеек и мы имеем 100 накладных с ценой 199.83.
Ревизия работает с первичными документами. 100 накладных с суммой 199.83 - списано на сумму 19 983.00 руб.

Где 45 копеек?

Конечно, 45 копеек сумма невеликая, бухи извернутся, но если таких операций сотни тысяч, то может набежать приличная сумма.
...
Рейтинг: 0 / 0
Ликбез
    #39872062
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Конечно, 45 копеек сумма невеликая, бухи извернутся
Мой личный опыт показывает, что изворачиваться они вообще не будут, а просто проедят насквозь плешь программисту, чтобы этой разницы в 45 копеек не было.
...
Рейтинг: 0 / 0
Ликбез
    #39872075
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Где 45 копеек?

Конечно, 45 копеек сумма невеликая, бухи извернутся, но если таких операций сотни тысяч, то может набежать приличная сумма.
Есть огромная проблема учета НДС: опт считает на сумму, а розница на штуку. В опте цены без НДС, в рознице с НДС. И тут эти разницы на доли копейки из-за округлений выливаются в сотни и тысячи рублей.
...
Рейтинг: 0 / 0
Ликбез
    #39872517
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
Однако в документах нельзя писать доли копеек и мы имеем 100 накладных с ценой 199.83.
Ревизия работает с первичными документами. 100 накладных с суммой 199.83 - списано на сумму 19 983.00 руб.

Где 45 копеек?

Конечно, 45 копеек сумма невеликая, бухи извернутся, но если таких операций сотни тысяч, то может набежать приличная сумма.
Это так называемое разделение партии, вроде так правильно называется.
Сделают 45 накладных с ценой 199,84 и 55 с ценой 199,83.
...
Рейтинг: 0 / 0
Ликбез
    #39872533
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже без всякого умножения на количество всплывают проблемы.
К примеру, товар должен стоить 230 рублей - так решил маркетолог, менеджер выписал счет.

Начинаем делать счет фактуру и накладную, где цена должна быть указана без НДС
(пример для старого варианта с НДС=18)

------ Вариант 1:
цена без НДС 194.91
НДС = 194.91 * 0,18 = 35.08
стоимость с НДС = 194.91 + 35.08 = 229.99
------ Вариант 2:
цена без НДС 194.92
НДС = 194.92 * 0,18 = 35.09
стоимость с НДС = 194.92 + 35.09 = 230.01
...
Рейтинг: 0 / 0
Ликбез
    #39872543
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProК примеру, товар должен стоить 230 рублей - так решил маркетолог.
Маркетологу надо запретить решать с НДС если учет в ценах без НДС.
...
Рейтинг: 0 / 0
Ликбез
    #39872569
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProДаже без всякого умножения на количество всплывают проблемы.
К примеру, товар должен стоить 230 рублей - так решил маркетолог, менеджер выписал счет.

Начинаем делать счет фактуру и накладную, где цена должна быть указана без НДС
(пример для старого варианта с НДС=18)

------ Вариант 1:
цена без НДС 194.91
НДС = 194.91 * 0,18 = 35.08
стоимость с НДС = 194.91 + 35.08 = 229.99
------ Вариант 2:
цена без НДС 194.92
НДС = 194.92 * 0,18 = 35.09
стоимость с НДС = 194.92 + 35.09 = 230.01

такие проблемы возникают только у тех кто не дружит с математикой
...
Рейтинг: 0 / 0
Ликбез
    #39872578
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TShocker.ProК примеру, товар должен стоить 230 рублей - так решил маркетолог.
Маркетологу надо запретить решать с НДС если учет в ценах без НДС.

Да, конечно. Цену товара для конечного покупателя должен назначать прогроммизд в засаленном свитере с оленями и кусками борща в бороде.
...
Рейтинг: 0 / 0
Ликбез
    #39872586
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatDima Tпропущено...

Маркетологу надо запретить решать с НДС если учет в ценах без НДС.

Да, конечно. Цену товара для конечного покупателя должен назначать прогроммизд в засаленном свитере с оленями и кусками борща в бороде.
Я не про конкретные значения, а про правила формирования этих значений. И решать это должен главный бухгалтер, т.к. он будет виноват если НДС неправильно будет посчитан.
...
Рейтинг: 0 / 0
Ликбез
    #39872601
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pationтакие проблемы возникают только у тех кто не дружит с математикойто есть в счет фактуру ты предлагаешь забивать иррациональное число?
...
Рейтинг: 0 / 0
Ликбез
    #39872603
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЯ не про конкретные значения, а про правила формирования этих значений. И решать это должен главный бухгалтер, т.к. он будет виноват если НДС неправильно будет посчитан.

Так правила формирования этих значений законами устанавливается, так-то. Как это так главбух может повлиять на правила вычисления НДС?
...
Рейтинг: 0 / 0
Ликбез
    #39872614
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatDima TЯ не про конкретные значения, а про правила формирования этих значений. И решать это должен главный бухгалтер, т.к. он будет виноват если НДС неправильно будет посчитан.

Так правила формирования этих значений законами устанавливается, так-то. Как это так главбух может повлиять на правила вычисления НДС?
В законах не заморачиваются на такие мелочи как округление. Поэтому приходится принимать волевое решение как округлять.
Кроме вариантов 21988159 можно еще так посчитать
------ Вариант 3:
цена без НДС = 230 / 1.18 = 194.92
Сумма без НДС = 194.92
стоимость с НДС = Цена с НДС = 230.00
НДС = 230.00 - 194.92 = 35.08

На одной штуке +/- доли копейки неважны, но если количества большие, то тут тысячи рублей могут набежать.
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Ликбез
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]