Visual Studio 2012/Konzolová aplikace/Lekce 4

Z Wikiverzity

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
_