![]() |
Formatting Data Display |
Instead of using two Write() or a combination of Write() and WriteLine() to display data, you can convert a value to a string and display it. To do this, you can provide two strings to Write() or WriteLine() and separate them with a comma:
Here are examples: using namespace System; int main() { String ^ FullName = L"Anselme Bogos"; int Age = 15; double HSalary = 22.74; Console::WriteLine(L"Full Name: {0}", FullName); Console::WriteLine(L"Age: {0}", Age); Console::WriteLine(L"Distance: {0}", HSalary); return 0; } This would produce: Full Name: Anselme Bogos Age: 15 Distance: 22.74 As mentioned already, the numeric value typed in the curly brackets of the first part is an ordered number. If you want to display more than one value, provide each incremental value in its curly brackets. The syntax used is: Write("To Display {0} {1} {2}", First, Second, Third); You can use the sections between a closing curly bracket and an opening curly bracket to create a meaningful sentence.
We mentioned earlier that everything the user types using the keyboard is primarily a string and it's your job to convert it to the appropriate type. In reverse, if you have a value that is not a string, you can easily convert it to a string. To support this, each .NET Framework data type provides a mechanism called ToString. To conversion a value of a primitive data type to a string, type the name of the variable, followed by a period, followed by ToString(). Here is an example: using namespace System; int main() { String ^ FullName = L"Anselme Bogos"; int Age = 15; double HSalary = 22.74; Console::WriteLine(L"Full Name: {0}", FullName); Console::WriteLine(L"Age: {0}", Age.ToString()); Console::WriteLine(L"Distance: {0}", HSalary.ToString()); return 0; } In some cases, you will type something in the parentheses of ToString().
To properly display data in a friendly and most familiar way, you can format it. Formatting tells the compiler what kind of data you are using and how you want the compiler to display it to the user. You can display a natural number in a common value or, depending on the circumstance, you may prefer to show it as a hexadecimal value. When it comes to double-precision numbers, you may want to display a distance with three values on the right side of the decimal separator and in some cases, you may want to display a salary with only 2 decimal places. The System namespace provides a specific letter that you can use in the Write() or WriteLine()'s placeholder for each category of data to display. To format a value, in the placeholder of the variable or value, after the number, type a colon and one of the appropriate letters from the following table. If you are using ToString(), then, in the parentheses of ToString(), you can include a specific letter or combination inside of double-quotes. The letters and their meanings are:
Here are examples: using namespace System; int main() { double Distance = 248.38782; int Age = 15; int NewColor = 3478; double HSalary = 22.74, HoursWorked = 35.5018473; double WeeklySalary = HSalary * HoursWorked; Console::WriteLine(L"Distance: {0}", Distance.ToString(L"E")); Console::WriteLine(L"Age: {0}", Age.ToString()); Console::WriteLine(L"Color: {0}", NewColor.ToString(L"X")); Console::WriteLine(L"Weekly Salary: {0} for {1} hours", WeeklySalary.ToString(L"c"), HoursWorked.ToString(L"F")); return 0; } This would produce: Distance: 2.483878E+002 Age: 15 Color: D96 Weekly Salary: $807.31 for 35.50 hours As you may have noticed, if you leave the parentheses of ToString() empty, the compiler would use a default formatting to display the value. As opposed to calling ToString(), you can use the above letters in the curly brackets of the first part of Write() or WriteLine(). In this case, after the number in the curly brackets, type the colon operator followed by the letter.
In the above programs, to display a line of text, we used Write() or WriteLine(). To position text of different lengths one above the other, we had to "corrupt" a string by including extra-empty spaces. Such a technique is uncertain and less professional. Fortunately, you can format how a string or a line of text should display. There are mechanisms to control the amount of space used to display a string of text and how to align that string on its line. To specify the amount of space used to display a string, you can use its placeholder in Write() or WriteLine(). To do this, in the placeholder, type the 0 or the incrementing number of the placeholder and its formatting character if necessary and if any. Then, type a comma followed by the number of characters equivalent to the desired width. Here are examples: using namespace System; int main() { double Distance = 248.38782; int Age = 15; int NewColor = 3478; double HSalary = 22.74, HoursWorked = 35.5018473; double WeeklySalary = HSalary * HoursWorked; Console::WriteLine(L"Distance: {0:20}", Distance.ToString(L"E")); Console::WriteLine(L"Age: {0,14}", Age.ToString()); Console::WriteLine(L"Color: {0}", NewColor.ToString(L"X")); Console::WriteLine(L"Weekly Salary: {0:C,8}", WeeklySalary.ToString(L"c")); return 0; } This would produce: Distance: 2.483878E+002 Age: 15 Color: D96 Weekly Salary: $807.31 Press any key to continue . . . The sign you provide for the width is very important. If it is positive, the line of text is aligned to the right. This should be your preferred alignment for numeric values. If the number is negative, then the text is aligned to the left.
|
|
||
Previous | Copyright © 2006-2016, FunctionX, Inc. | Next |
|