如何在C#中实现字符串显示限制?
今天我学到了两件事 1-在文本框中将int显示为此格式:0001 数字。ToString(“0000”)如何在C#中实现字符串显示限制?,c#,C#,今天我学到了两件事 1-在文本框中将int显示为此格式:0001 数字。ToString(“0000”) 2-在文本框中显示此格式的双精度:03.00英镑 价格:ToString(£00.00”) 我的问题是:如何在c#中显示字符串的限制 我的意思是字符串中的值是 string myString = "Hello World!" 我想它显示20个字母,所以它将显示 "Hello World! " 如果超过20个字母,它将跳过显示其余字母 例如: string myString
2-在文本框中显示此格式的双精度:03.00英镑 价格:ToString(£00.00”) 我的问题是:如何在c#中显示字符串的限制 我的意思是字符串中的值是
string myString = "Hello World!"
我想它显示20个字母,所以它将显示
"Hello World! "
如果超过20个字母,它将跳过显示其余字母
例如:
string myString = "I Love every thing you say :*"
它将仅显示以下内容:
"I Love every thing y"
最多显示20个字母(计算空格)
有什么想法吗
string myString = "I Love every thing you say :*"
string fixedWidth = string.Format("{0, -20}", (myString.Length > 20 ? myString.Substring(0,20) : myString));
作为字符串扩展名:
public static string ToFixedWidth(this string s, int length)
{
return string.Format("{0, -20}, s.Length > length ? s.Substring(0, length) : s);
}
您需要使用子字符串或PadRight
int length = 20;
string original = "I Love every thing you say :*";
string finalString = original.Length > length ?
original.Substring(0, length) :
original.PadRight(length);
这将根据需要使用适当长度的子字符串,或用空格填充。我相信
String.Format("{0,-20}", "Hello World!");
会给你你需要的
编辑:应该是逗号
编辑:没关系,这不会修剪。可能与子字符串结合使用:
String.Format("{0,-20}", "Hello World!").Substring(0,20);
您还可以添加一个包含21个空格的字符串,然后删除以获得正确的长度:
string formattedStr = (myString + new string(' ', 21)).Remove(20);
myString.ToString(“llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll?为了便于使用,你可以将我的三元字符串扩展方法包装起来。这不会处理填充,子字符串(20)会给你错误的字符串。。。(您需要
Substring(0,20)
(也请注意大小写)我非常确定您需要使用myString.Substring(0,20)
Substring(20)
将开始设置为20,而不是结束。这仍然无法处理填充。请查看“Hello world”示例要求(注意末尾的空格)“在文本框中显示双精度:03.00英镑”几乎从来都不是正确的做法。对于货币,不要使用双精度
,使用十进制
。顺便说一句-对于显示文字,将其作为代码(缩进4个空格)而不是引号(使用
)将正确保留间距。