如何设置字符串的多个参数居中对齐?我有一个如下所示的字符串,我希望每个参数都居中对齐,我们左边的选项是(+),右边的是(-)basketItemPrice=string.Format("nn{0,-5}{1,-14:0.00}{2,-18:0.00}{3,-14:0.00}{4,6}{5,-12:0.00}",item.Quantity,item.OrderItemPrice,item.MiscellaniousCharges,item.DiscountAmountTotal,"=",item.UpdateItemAmount(Program.currOrder.OrderType));但是我想调整中心。编辑:-中心将每个文本与其覆盖的空间对齐......就像第一个参数需要5个空格并从左侧绘制但我希望它在与中心对齐的中心绘制。不幸的是,String.Format本身并不支持这一点。您必须自己填充字符串:staticstringcenteredString(strings,intwidth){if(s.Length>=width){returns;}intleftPadding=(width-s.Length)/2;intrightPadding=width-s.Length-leftPadding;returnnewstring('',leftPadding)+s+newstring('',rightPadding);}使用示例:Console.WriteLine(string.Format("|{0}|",centeredString("Hello",10)));Console.WriteLine(string.Format("|{0}|",centeredString("World!",10)));我正在尝试制作一个仍然保留IFormattable支持的扩展方法。它使用嵌套类来记住原始值和所需的宽度。然后,当提供格式字符串时,尽可能使用它。看起来像这样:publicstaticclassMyExtensions{publicstaticIFormattableCenter(thisTself,intwidth){returnnewCenterHelper(self,width);}classCenterHelper:IFormattable{只读T值;只读int宽度;internalCenterHelper(Tvalue,intwidth){this.value=value;this.width=宽度;}publicstringToString(stringformat,IFormatProviderformatProvider){stringbasicString;varformattable=valueasIFormattable;if(formattable!=null)basicString=formattable.ToString(format,formatProvider)??"";elseif(value!=null)basicString=value.ToString()??"";否则basicString="";intnumberOfMissingSpaces=width-basicString.Length;if(numberOfMissingSpaces注意:在需要奇数个额外空格字符的情况下,您没有指明是否要在左侧或右侧放置一个“额外”空格字符。此测试似乎表明它有效:doubletheObject=Math.PI;stringtest=string.Format("Now'{0:F4}'isused.",theObject.Center(10));当然,格式字符串F4带double的意思是“四舍五入小数点后小数点”。我不确定你的问题,但我希望这对你有帮助:publicstaticclassStringHelper{publicstaticstringCenter(thisStringvalue,intwidth){varpadding=(width+value.Length)/2;returnvalue.PadLeft(padding,'#');如果要绘制位图,请使用Graphics.DrawString(..)方法并将字符串对齐方式设置为居中。这里有很多例子:http://msdn.microsoft.com/en-us/library/system.drawing.stringformat.linealignment.aspx以上是C#学习教程:Howtosetmultipleparametersofstringtoalignthe中心?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
