ФорумПрограммированиеБольше языковC/C++ и C# → Математика на c#

Математика на c#

  • aba90

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 19 марта 2013 г. 12:44

    Я тут пишу программу для кое каких расчетов, но раньше особо с числами и действиями над ними не работал. (в c# тем более)

    есть строка
    ——————————————————————————–
    double nkch = 2 * 5205 * 6 / 100 * monthInterval + 2 * 5205 * 6 / 100 * firstDateDayColPassed / firstDateDayCol + 2 * 5205 * 6 / 100 * sDays / secondDateDayCol;


    —>
    monthInterval = 0 firstDateDayColPassed = 22 firstDateDayCol = 31 sDays = 10 и secondDateDayCol 28
    ———————————————————————————-
    В числовом виде она равна этому:

    2 * 5205 * 6 / 100 * 0 + 2 * 5205 * 6 / 100 * 22/ 31 + 2 * 5205 * 6 / 100 * 10 / 28

    результат решения c# 664 калькулятор у расчет в другой программе 666.34
    Из- за чего тут расхождения? К примеру у меня при 5205 * 6 / 100 = 312,3 на калькуляторе а в c# 312.

    Я так понимаю код не учитывает дробную часть? Как бороться?
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 19 марта 2013 г. 12:51, спустя 7 минут 14 секунд

    операнды целые, поэтому оператор / срабатывает как деление нацело
    погугли c# division, например вот http://stackoverflow.com/questions/661028/how-can-i-divide-two-integers-to-get-a-double
    не всё полезно, что в swap полезло
  • kostyl

    Сообщения: 5199 Репутация: N Группа: Джедаи

    Spritz 19 марта 2013 г. 12:51, спустя 13 секунд

    Ты на php попробуй, сразу поймешь какой язык хуже
  • aba90

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 19 марта 2013 г. 12:54, спустя 3 минуты 19 секунд


    Ты на php попробуй, сразу поймешь какой язык хуже
    ну я не про языки, оконную прогу
  • aba90

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 19 марта 2013 г. 13:06, спустя 11 минут 54 секунды


    операнды целые, поэтому оператор / срабатывает как деление нацело
    погугли c# division, например вот http://stackoverflow.com/questions/661028/how-can-i-divide-two-integers-to-get-a-double
    спасибо тебе большое!

Пожалуйста, авторизуйтесь, чтобы написать комментарий!