[C# Basics] Форматиране на числа
Здравейте. Тъй като работата с числа в програнирането е често явление, тук ще опиша как може да се форматиратират, така че да придобият подходящ за презентация вид.
За да форматирате числова стойност в string, трябва да използвате Placehoder-и.
Какво е Placehoder?
Пример:
int age = 23;
Console.WriteLine("I am {0} years old.", age); // output: I am 23 years old.
В примера по-горе се вижда, че "{0}" заема стойността на променливата "age".
Може да използвате повече от един placeholder, като след всеки един цифрата в него нараства с едно:
int age = "23";
string name = "Pesho";
Console.WriteLine("I am {0} years old and my name is {1}.", age, name);
Формати за числа.
За примера ще използвам дробното число: 3.6543210
Placehoder |
Output: (out of: 3.6543210) |
Description |
{0:0} |
4 | Взима цялото число, като го закръгля нагоре. |
|
3.7 | Взима цялото число и една цифра след десетичната запетая, закръглена нагоре. |
{0:00.0} |
03.7 | Взима две цифри от цялото число (ако няма добавя 0), и едно след десетичната запетая. |
|
3.65 | Взима цялото число, и две цифри след десетичната заперая, ако има такива. |
{0, 10} |
3.6543210 | Премества числото с 10 символа вдясно. |
|
My number is 3.7 | Вмъква текст преди числото. |
{0:P} |
365,43 % | Представя числото в проценти. |
|
3,654321E+000 | Представя числото в експоненциална нотация. |
{0:C} |
3,65 лв. | Представя числото като валута, спрямо регионалните настройки. |
|
format exeption | Представя числото в шестнадесетична бройна система. |
Notice: Забележете, че в последния пример, числото няма да бъде представено, тъй като този формат не работи за всички числа.
Това са основните форматиращи методи, като ще се радвам ако някой може да допълни с други :)
Успешно кодене!
Math.Floor() закръгля надолу, Math.Truncate() закръгля към 0. Тук има по- детайлно обяснение.