Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Ликбез / 25 сообщений из 33, страница 1 из 2
01.10.2019, 17:51
    #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
01.10.2019, 18:44
    #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
01.10.2019, 18:46
    #39870200
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
1) Math.Round()
2) Литерал для типа decimal
...
Рейтинг: 0 / 0
01.10.2019, 18:47
    #39870201
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
Vova_1805Как округлить sum до 2-х 3-х знаков после точки?
https://docs.microsoft.com/ru-ru/dotnet/api/system.math.round
...
Рейтинг: 0 / 0
03.10.2019, 12:54
    #39871097
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
Вообще, округление имеет смысл только при визуальном восприятии.
https://docs.microsoft.com/ru-ru/dotnet/api/system.decimal.tostring?view=netframework-4.8#System_Decimal_ToString_System_String_
...
Рейтинг: 0 / 0
03.10.2019, 23:42
    #39871408
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
ЕвгенийВВообще, округление имеет смысл только при визуальном восприятии
С какого перепугу?
...
Рейтинг: 0 / 0
04.10.2019, 11:36
    #39871538
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
ИзопропилЕвгенийВВообще, округление имеет смысл только при визуальном восприятии
С какого перепугу?
Ну как же?
Объем памяти ты этим не уменьшишь, decimal фиксированной ширины.
...
Рейтинг: 0 / 0
04.10.2019, 11:39
    #39871540
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
ЕвгенийВ,

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

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

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

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

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

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

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

Я же тебе говорю - потому что это может быть обусловлено какими-то политиками, правилами, регламентами и т.п. Этак можно заявить "Нахера вычислять подоходный налог по 6%, проще ведь по 5".
...
Рейтинг: 0 / 0
05.10.2019, 18:18
    #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
05.10.2019, 19:05
    #39872062
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
Cat2Конечно, 45 копеек сумма невеликая, бухи извернутся
Мой личный опыт показывает, что изворачиваться они вообще не будут, а просто проедят насквозь плешь программисту, чтобы этой разницы в 45 копеек не было.
...
Рейтинг: 0 / 0
05.10.2019, 20:11
    #39872075
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
Cat2Где 45 копеек?

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

Где 45 копеек?

Конечно, 45 копеек сумма невеликая, бухи извернутся, но если таких операций сотни тысяч, то может набежать приличная сумма.
Это так называемое разделение партии, вроде так правильно называется.
Сделают 45 накладных с ценой 199,84 и 55 с ценой 199,83.
...
Рейтинг: 0 / 0
07.10.2019, 13:14
    #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
07.10.2019, 13:29
    #39872543
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
Shocker.ProК примеру, товар должен стоить 230 рублей - так решил маркетолог.
Маркетологу надо запретить решать с НДС если учет в ценах без НДС.
...
Рейтинг: 0 / 0
07.10.2019, 13:50
    #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
07.10.2019, 13:59
    #39872578
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ликбез
Dima TShocker.ProК примеру, товар должен стоить 230 рублей - так решил маркетолог.
Маркетологу надо запретить решать с НДС если учет в ценах без НДС.

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

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

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

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

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

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


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