Loading...
PavelKolashev avatar PavelKolashev 5 Точки

Error за грешен формат на "input string".

Здравейте, на една от задатчите които решавах днес при въвеждане на дробно число в конзолата ми излиза грешка която ми казва, че входния низ е в неправилен формат. Въвеждам "double" а ми дава такава грешка. Някой ако може да ме просвети какво се случва ще съм много благодарен. Ето и цялата задача:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exellent
{
    class Program
    {
        static void Main(string[] args)
        {
            var grade = double.Parse(Console.ReadLine());
            if (grade >= 5.50)
            {
               Console.WriteLine("Excellent!");
            }
            
        }
    }
}
 

Тагове:
0
Programming Basics 21/01/2017 18:04:04
Sim0o0na:
Получен е отговор.
r3v3nan7 avatar r3v3nan7 365 Точки
Best Answer

Да не би да е заради регионалните настройки на уиндоуса ти. Ако ти е на български дробното число пробвай да го напишеш със запетайка, ако ти е на английски - с точка. 

1
21/01/2017 18:14:05
MarioPetrov02 avatar MarioPetrov02 2 Точки

Пробвай като заместиш var с double

0
PavelMarinov avatar PavelMarinov 2 Точки

Здравей, пробвай да напишеш пред "class" -> "public" и пред "static" -> също "public"

namespace Exellent
{
   public class Program
    {
       public static void Main(string[] args)
        {

 

нещо такова :)

0
PavelKolashev avatar PavelKolashev 5 Точки

В десетичния знак беше проблема. С "," всичко се оправи. Мерси много на всички.

0
r3v3nan7 avatar r3v3nan7 365 Точки

Eто ти нещо друго, което мисля че ще ти е полезно. 

Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

Слагаш този ред под static void main() и вече не би трябвало да имаш проблеми с десетичната запетая. И с точка и съз запетайка би трябвало да работи.

Само че преди да го сложиш най-отгоре , където e using System трябва да добавиш и други 2 библиотеки - using System.Threading и using System.Globalization;

 


 

0
PavelKolashev avatar PavelKolashev 5 Точки

Стана! Сега ако ми кажеш как да го запаметя, че да не го пиша всеки път като пускам Visual Studio направо ще си бог.

0
21/01/2017 19:44:39
PavelKolashev avatar PavelKolashev 5 Точки

Решихме проблема с десетичния знак за което много благодаря, но същата грешка на пръв поглед без причина ми излезе при друга задача. Моля ви помагайте.

using System;
using System.Threading;
using System.Globalization;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Even_or_Odd
{
    class Program
    {
        static void Main(string[] args)
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            {

                string date = Console.ReadLine();
                DateTime birtday = DateTime.ParseExact(date, "dd-MM-yyyy", null);
                birtday = birtday.AddDays(999);
                Console.WriteLine("{0}", birtday.ToString("dd-MM-yyyy"));
            }
        }
    }
}
 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.