VB.Net О делении валюты на X количество месяцев - PullRequest
0 голосов
/ 17 февраля 2012

я пытаюсь научиться делать вещи с валютой.

Например: Я делю 10.000 $ на 12 месяцев, округляя с двумя десятичными знаками, у меня есть 833,33 $.

Если я умножу 833,33 $ * 12, я получу 9999,96 $, то есть 0,04 возможных потерь. Округляя 9999,96 с двумя десятичными дробями, я получил 10.000 $, но это то, чего я не хочу, поскольку 0,04 - это потеря.

Я использую SQL Compact 4.0 в качестве базы данных, таблица price_month является десятичной (18,2)

Вот мой код:

    Dim price as Decimal = 10000
    Dim pricemonth as Decimal = Math.round((price/12),2) ' 833.33
    Console.Writeline(pricemonth*12) ' 9999.96
    Console.Writeline(Math.round((pricemonth*12),2)) ' 10000

Любой совет, как повысить точность с валютой? Спасибо и хорошего дня!

1 Ответ

3 голосов
/ 17 февраля 2012

Не округляйте свои вычисления. Оставьте исходные числа нетронутыми, но при отображении ответа обведите его так, чтобы он выглядел хорошо.

...