Я не могу преобразовать в double в C #, используя Visual Studio 2019

#c#

#c#

Вопрос:

Мне нужна помощь с использованием Convert.ToDouble. Я изо всех сил пытаюсь преобразовать в double в C #, и Visual Studio выдает исключение. Нужно ли мне устанавливать расширения?

это весь код

 using System;

namespace VariablesAndDataTypes
{
    class Program
    {
        static void Main(string[] args)
        {
            //Variables dclarations amd types
            string name;
            int age;
            double salary;
            char gender;
            bool working;

            //Prompt users for Input
            Console.Write("Enter your name: ");
            name = Console.ReadLine();

            Console.Write("Enter your age: ");
            age = Convert.ToInt32(Console.ReadLine());

            Console.Write("Enter your salary: ");
            salary = Convert.ToDouble(Console.ReadLine()); // the exception is thrown here
            Console.Write("Enter your gender (M/F): ");
            gender = Convert.ToChar(Console.ReadLine());

            Console.Write("Are you working (true/false): ");
            working =Convert.ToBoolean(Console.ReadLine());

            //Print to Screen
            Console.WriteLine("Your name is: "   name);
            Console.WriteLine("Your age is: {0}", age);
            Console.WriteLine($"Your salary is: {0}"   salary); // when  I write a double it gives and error and the console stops responding.
            Console.WriteLine("Your gender is: "   gender);
            Console.WriteLine("You are Employed: "   working);
        }
    }
}
  

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: я новичок в программировании

Комментарии:

1. Какое исключение?

2. Вы пробовали оба ‘.’ и ‘,’ в качестве десятичных разделителей? Звучит как «текущая культура»

3. С деньгами лучше всего обращаться с decimal , а не double . Как только вы заработаете (это может быть десятичная точка или запятая, какой у вас язык ), рассмотрите возможность использования Xxx.TryParse вместо Convert.ToXxx . Вы можете ожидать, что пользователи будут путать ввод данных — вряд ли это исключительное событие.

4. Какое значение вы пытаетесь преобразовать в double?

5. это исключение: System. Исключение FormatException: «Входная строка была в неправильном формате».

Ответ №1:

Добро пожаловать в C # @Mickey

Возможно, вы неправильно использовали интерполяцию строк ($)

Попробуй это

 Console.WriteLine($"Your salary is: {salary}");
  

Было бы весьма полезно, если бы вы поделились полученным вами исключением.

Комментарии:

1. Я попробовал эту строку и использовал ‘,’ вместо ‘.’ и это сработало. Спасибо