Visual Studio 2012/Konzolová aplikace/Lekce 4

Příkazy editovat

Převod textové hodnoty na číselnou (Parsování) editovat

Parsování je obecný název pro způsob převodu textu na číslo. Vstup z klávesnice pomocí příkazu Console.ReadLine(); snímá v podobě textu. Pokud chceme se vstupem zacházet jako s textem, není nutné nic měnit. Pokud však chcete se vstupem zacházet jako s číslem (například potřebujete číslo k výpočtu), pak je třeba převést vstup na číslo (tedy parsovat).



int číslo;
číslo = int.Parse(Console.ReadLine());

Převede vstup od uživatele na číslo typu int (INTEGER, celá čísla).



float číslo;
číslo = float.Parse(Console.ReadLine());

Převede vstup od uživatele na číslo typu float (reálná čísla-čísla s desetinou čárkou).



float číslo;
string text;
text = Console.ReadLine();
číslo = float.Parse(text);

Nejdříve převede vstup do textové proměnné, a tu potom parsuje do číselné proměnné. Tento způsob se může hodit, pokud potřebujete mýt uložené jak textovou tak číselnou hodnotu vstupu.

Převod čísla na text editovat

Často se také hodí, převést číslo na text a to hlavně pokud slouží k výstupu. K výstupu lze sice v omezené míře použít i číslo avšak v kombinaci s více čísel a textů může dojít ke špatnému pochopení toho jak má výstup vypadat a být formátován. Proto je vždy lepším, aby měl výstup podobu textového řetězce.



float číslo=10;
číslo.ToString();

Převede proměnnou jménem číslo na text.



float číslo=10;
string text;
text=číslo.ToString();

Převede číslo do textové proměnné jménem text.



float číslo=10;
Console.WriteLine("číslo="+číslo.ToString());

Do výstupu napíše proměnnou číslo v podobě textu.

Kdy se čísla a text na výstupu hádají a kdy nehádají editovat

Výstup pomocí příkazu Console.WriteLine(parametr); umí automaticky explicitně převést číselnou hodnotu na text ale podle toho s ní taky zachází.

float a=10;
Console.WriteLine(a);

Výstup:

10



float a=10;
Console.WriteLine("a="+a);

Výstup:

a=10



float a=10;
float b=17;
Console.WriteLine(a+b);

Výstup:

27

Tentokráte ještě vyjel výstup správně tak jak bychom asi chtěli.



float a=10;
float b=17;
Console.WriteLine("součet="+a+b);

Výstup:

součet=1017

Tentokráte již vypsal divný výstup. Pochopil čísla a,b jako text a místo toho aby je sečetl jako čísla, tak je k sobě spojil jako textový řetězec.

Programy editovat

Program "Sčítač" editovat

Program umí sečíst dvě čísla. Která jsou zadána jako vstup od uživatele.

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            float číslo1;
            float číslo2;
            float součet;
            číslo1 = float.Parse(Console.ReadLine());
            číslo2 = float.Parse(Console.ReadLine());
            součet = číslo1 + číslo2;
            Console.WriteLine(číslo1.ToString()+"+"+číslo2.ToString()+"="+součet.ToString());
            Console.ReadKey();
        }
    }
}



Výpis z konzole po spuštění programu a zadání hodnot:

15
3,14
15+3,14=18,14
_