Проблем с Вижуал студио вероятно в настройките
Здравейте!
верятно имам някакъв проблем с настроиките на Вижуъл Студио, тъй като при задача Small Shop
to Nested Conditional Statements, при примерен вхдо София бира/1,20/ 6бр. ми даав 7,199999999. Дебъгнах и при смятането ми дава за 6 бири по 1,2= 7,19999999, което е невъзвожно като аретметично пресмятане.
using System;
namespace SmallShop
{
    class Program
    {
        static void Main()
        {
            string town = Console.ReadLine();
            string product = Console.ReadLine();
            double quantity = double.Parse(Console.ReadLine());
            double price = 0;
            if (town == "Sofia")
            {
                switch (product)
                {
                    case "coffee":
                        price = 0.50;
                        break;
                    case "water":
                        price = 0.80;
                        break;
                    case "beer":
                        price = 1.20;
                        break;
                    case "sweets":
                        price = 1.45;
                        break;
                    case "peanuts":
                        price = 1.60;
                        break;
                    default:
                        Console.WriteLine("unknown product or town");
                        break;
                }
            }
            else if (town == "Plovdiv")
            {
                switch (product)
                {
                    case "coffee":
                        price = 0.40;
                        break;
                    case "water":
                        price = 0.70;
                        break;
                    case "beer":
                        price = 1.15;
                        break;
                    case "sweets":
                        price = 1.30;
                        break;
                    case "peanuts":
                        price = 1.50;
                        break;
                    default:
                        Console.WriteLine("unknown product or town");
                        break;
                }
            }
            else if (town == "Varna")
            {
                switch (product)
                {
                    case "coffee":
                        price = 0.45;
                        break;
                    case "water":
                        price = 0.70;
                        break;
                    case "beer":
                        price = 1.10;
                        break;
                    case "sweets":
                        price = 1.35;
                        break;
                    case "peanuts":
                        price = 1.55;
                        break;
                    default:
                        Console.WriteLine("unknown product or town");
                        break;
                }
            }
            double wholePrice = price * quantity;
            Console.WriteLine(wholePrice);
        }
    }
}
 
Мисля ,че не е това, тъй като след това има примерен вход с сладки 2,23 и дават изхода да е с четири знака след десетичната запетая 2,2335. и при дебъгването когато стигна до изчисляването продукт *количество ми дава резултат 7,199999, което и дете от 7-8 клас знае ,че не е възможно 6*1,2 да е равно на 7,19999.
Използвяй decimal вместо double и ще ти се оправи проблема. Double не е подходящ за операции с голяма точност.
Благодаря колега,но пак не се получава.
Някъде в лекциите някой от лекторите говореше за различните видове смятане на Вижюъл Студио- там банкерско, и други.
Да не би да е от тези настройки