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
_