I am trying to output some field-aligned data in an application ( see the Alignment Component in this MSDN documentation ).
I noticed that some lines do not align correctly at the border of the field.
This is most obvious with this small sample code snippet that simply displays the number in all cultures as a currency in a text file.
var value = 5000.95;
using (var writer = new StreamWriter("c:\\test.txt"))
{
foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures).OrderBy(c => c.Name))
{
writer.WriteLine($"{value.ToString("C2", culture),-20}{culture.Name,-10}");
}
}
This is an example of incorrectly aligned output using left justification:
R 5,000.95 af
R 5,000.95 af-ZA
ETB5,000.95 am
ETB5,000.95 am-ET
ر.س. 5,000.95 ar
د.إ. 5,000.95 ar-AE
د.ب. 5,000.95 ar-BH
د.ج. 5,000.95 ar-DZ
ج.م. 5,000.95 ar-EG
د.ع. 5,000.95 ar-IQ
د.ا. 5,000.95 ar-JO
This is an example of using right alignment:
R 5,000.95 af-ZA
ETB5,000.95 am
ETB5,000.95 am-ET
ر.س. 5,000.95 ar
د.إ. 5,000.95 ar-AE
د.ب. 5,000.95 ar-BH
د.ج. 5,000.95 ar-DZ
ج.م. 5,000.95 ar-EG
د.ع. 5,000.95 ar-IQ
د.ا. 5,000.95 ar-JO
د.ك. 5,000.95 ar-KW
ل.ل. 5,000.95 ar-LB
د.ل. 5,000.95 ar-LY
د.م. 5,000.95 ar-MA
$ 5.000.95 arn
$ 5.000.95 arn-CL, , , 20- , , . . , -, , Unicode.
?