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

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

  • aba90

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

    Spritz Март 19, 2013, 8: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

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

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

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

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

    Spritz Март 19, 2013, 8:51 п.п., спустя 13 секунд

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

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

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


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

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

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


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

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