右对齐货币字符串(不带符号)
本文关键字:带符号 货币 字符串 右对齐 | 更新日期: 2023-09-27 18:26:58
我当前输出一个左对齐的货币值,使用以下内容:
String.Format(CultureInfo.CurrentCulture, "{0:#,##0}", value);
我想修改字符串格式化程序,这样我就可以正确对齐它。我不知道如何在不影响现有格式化程序的情况下完成它。
有人能提供建议吗?
编辑:我知道它涉及类似于:
http://www.csharp-examples.net/align-string-with-spaces/
String.Format("{0,20:#,##0}", value);
将执行此操作。
示例。
不太清楚你的实际意思,但我认为,你说的是
String.PadLeft方法。
示例:要向右"对齐",可以:
string hello ="hello";
int supportedSymbCount = 10;
int padcount = supportedSymbCount - hello.Length;
if(padCount>0)
hello = hello.PadLeft(padCount);
这将在字符串的前面添加"pad",与组成一个长度为10
字符的字符串所需的数量一样多。选择更适合你的参数,它应该适用于你的情况。
对于控制台输出,使用制表符作为分隔符
Console.WriteLine( "'t{0:#,##0}", value )
对于web,使用div class="numeric"和text align="right"。
对于其他输出,没有通用的解决方案。
使用PadLeft
或PadRight
int iTotalLength = 20; // Total length of string
char cPadChar = '0'; // Padding character
String.Format(CultureInfo.CurrentCulture, "{0:#,##0}", value).PadLeft(iTotalLength,
cPadChar);