Я получаю ошибку компиляции:Brokered среды выполнения Windows Component - System.Decimal
«Метод ххх имеет значение параметра типа„System.Decimal System.Decimal „не является допустимым среды выполнения Windows должен возвращать только“.“ Windows Runtime. "
Есть ли в любом случае я могу использовать десятичный знак? или я должен просто сохранить значение в виде центов в целых числах?
Кажется, что это (вопрос о десятичном и двойном в финансовых приложениях) рассматривается по числу других вопросов по той же теме: http://stackoverflow.com/search?q=double+versus+decimal. Короткий ответ: «Не делай этого». Вам будет лучше использовать пользовательский тип данных с фиксированной точкой (это пугает мой мозг многими из вещей, которые они оставили из WinRT ... System.Decimal определенно является одним из них) –
Ну, у меня всегда было такое впечатление, что я следует использовать Decimal за деньги. Наверное, я немного озадачен тем, почему я не могу использовать Decimal для моего брокерского компонента времени выполнения. Не могли бы вы расширить этот настраиваемый тип данных с фиксированной точкой? –
Вы _should_ используете десятичный за деньги, если он доступен. В нем рассматриваются ошибки округления, которые существуют в форматах с плавающей запятой. Вы можете исследовать фиксированную точку, так как в Интернете есть много информации об этом. Короткий вариант заключается в том, что, например, вы можете хранить целые числа, представляющие гроши или даже сотые доли копейки; то добавление/вычитание работает нормально, и, конечно, вы должны отслеживать движение десятичной дроби для умножения и деления. –