C# 4.0: полное руководство | страница 41
Ниже приведен пример программы, в которой тип >decimal используется в конкретном финансовом расчете. В этой программе цена со скидкой рассчитывается на основании исходной цены и скидки в процентах.
>// Использовать тип decimal для расчета скидки.
>using System;
>class UseDecimal { 
>  static void Main() { 
>    decimal price; 
>    decimal discount; 
>    decimal discounted_price;
>    // Рассчитать цену со скидкой, 
>    price = 19.95m;
>    discount = 0.15m; // норма скидки составляет 15% 
>    discounted_price = price - ( price * discount);
>    Console.WriteLine("Цена со скидкой: $" + discounted_price);
>  }
>}
Результат выполнения этой программы выглядит следующим образом.
>Цена со скидкой: $16.9575
Обратите внимание на то, что значения констант типа >decimal в приведенном выше примере программы указываются с суффиксом m. Дело в том, что без суффикса m эти значения интерпретировались бы как стандартные константы с плавающей точкой, которые несовместимы с типом данных decimal. Тем не менее переменной типа >decimal можно присвоить целое значение без суффикса т, например 10. (Подробнее о числовых константах речь пойдет далее в этой главе.)
Рассмотрим еще один пример применения типа >decimal. В этом примере рассчитывается будущая стоимость капиталовложений с фиксированной нормой прибыли в течение ряда лет.
>/*
>Применить тип decimal для расчета будущей стоимости капиталовложений.
>*/
>using System;
>class FutVal {
>  static void Main() { 
>    decimal amount; 
>    decimal rate_of_return; 
>    int years, i;
>    amount = 1000.0M; 
>    rate_of_return = 0.07M; 
>    years = 10;
>    Console.WriteLine("Первоначальные капиталовложения: $" + amount);
>    Console.WriteLine("Норма прибыли: " + rate_of_return);
>    Console.WriteLine("В течение " + years + " лет");
>    for(i =0; i < years; i++)
>        amount = amount + (amount * rate_of_return);
>    Console.WriteLine("Будущая стоимость равна $" + amount);
>  }
>}
Вот как выглядит результат выполнения этой программы.
>Первоначальные капиталовложения: $1000 
>Норма прибыли: 0.07 
>В течение 10 лет
>Будущая стоимость равна $1967.151357289565322490000
Обратите внимание на то, что результат выполнения приведенной выше программы представлен с точностью до целого ряда десятичных разрядов, т.е. с явным избытком по сравнению с тем, что обычно требуется! Далее в этой главе будет показано, как подобный результат приводится к более "привлекательному" виду.
 
                        
                    