Професионална програма
Loading...
+ Нов въпрос
em3ata avatar em3ata 2 Точки

Error при формат Inches to Cenimeters

Привет на всички. При решението на задачата се опитах да я малко по различен начин от тва което в Lab файла.

Оригиналното решение е това

using System;

namespace Inchestocm
{
    class Program
    {
        static void Main(string[] args)
        {
            double inches = double.Parse(Console.ReadLine());
            double result = inches * 2.54;

            Console.WriteLine("{0:F2}", result);
        }
    }
}
 

Това е моето решение

using System;

namespace Inchestocm
{
    class Program
    {
        static void Main(string[] args)
        {
            double centimeter = double.Parse(Console.ReadLine());
            double inches = 2.54;
            double rezultat = inches * centimeter;
            Console.WriteLine("{ 0:F2}", inches *  centimeter);
        }
    }
}
 

А това е ерор - а https://i.postimg.cc/8z8mfxH6/Error-Cm-toinch.png

Просто ми е любопитно защо хвръля грешка. Може защото се опитвам да форматирам inches и cm, докато извършват действие ?

 

 

 

 

0
Programming Basics with C#
StanislavaMiteva avatar StanislavaMiteva 23 Точки
Best Answer

Здравей,

Проблема е в този ред:

Console.WriteLine("{ 0:F2}", inches *  centimeter);

Имаш един интервал пред нулата. Виж как трябва да изглежда този ред:

Console.WriteLine("{0:F2}", inches * centimeter);

Така няма да ти дава грешка.

Поздрави,

 

 

1
Ang7411 avatar Ang7411 3 Точки

Не е вярно , проблемът ми е още когато инициализира променливата 

double inches = 2.54; 

Как ще работи това според теб, на променлива тип double даваш стойност С Т Р И Н Г ?

ПРОБЛЕМЪТ Е СПЕЙСА ДА ИЗвинявам се ингнорирай това за Стринга ......

0
18/01/2019 16:03:22
TeMePyT avatar TeMePyT 142 Точки

Човека ти каза, проблема е от интервала преди нулата. Когато иницализираш променлива във кода със някаква стойност, IDE-то пищи, ако е грешна стойността. Щом не ти подчертава double преди inches значи 2.54 не е стринг. Стринг е само когато подаваш през конзолата, тя не знае кое е число и кое не, за това се парсва. IDE-то разпознава стойностите, когато ги подаваш в кода. Програмата е Inches to centimeter, така че от конзолата четеш инчове, не сантиметри. Кръщавай си променливите правилно. И накрая-тази промелнива rezultat не я ползваш никъде, за какво си я създал? 

1
18/01/2019 15:59:25
Ang7411 avatar Ang7411 3 Точки

ДА проблемът е спейса ....

1
Ang7411 avatar Ang7411 3 Точки

Каква е ролята на променливата Rezultat?double inches = 2.54; ти го възприема като стринг затова е методът Parse т.е

double inches = double.Parse("2.54");

0
18/01/2019 15:05:49