我想将SuperScript
添加到C#
中的数字。
示例:
1st, 2nd ......
我希望在ASP.NET/C#
请建议最佳解决方案。
答案 0 :(得分:4)
我不太确定你到底想要什么。
你可以这样做。
假设您有一个ASP.NET标签
<asp:Label ID="sample" runat="server" Text=""></asp:Label>
然后在后面的代码中你可以做这样的事情
sample.Text=string.Format("1<sup>st</sup>");
这将输出为1 st
答案 1 :(得分:3)
使用<sup>
标记是标记这些值的正确方法。
这我想在asp.net c#
中动态地做
如果您对区域设置有一定的了解,则可以自动将<sup>
标记添加到文本中。
// this should go in a helper class
// Obviously this depends on locale. The regex can be altered to accept numbers
// with as many digits as desired. I think "th" is always an appropriate suffix
// in English (not sure).
private static readonly Regex _regex = new Regex( @"^(\d{1,8})(st|nd|rd|th)$", RegexOptions.Compiled );
public static string AddSuper( string value ) {
return _regex.Replace( value, "$1<sup>$2</sup>" );
}
// in code-behind
this.litMyText.Text = AddSuper( "1st" );
// a few test cases (also demonstrates processing multiple items)
// should match
var testValues = new[] { "1st", "2nd", "10th", "20th", "1000th", "3rd", "19th" };
foreach( string val in testValues ) {
Response.Write( AddSuper( val ) );
}
// should not match
testValues = new[] { "test", "nd", "fourth", "25", "hello world th", "15,things", "1 1 1thousand" };
foreach( string val in testValues ) {
Response.Write( AddSuper( val ) );
}
1<sup>st</sup>
2<sup>nd</sup>
10<sup>th</sup>
20<sup>th</sup>
1000<sup>th</sup>
3<sup>rd</sup>
19<sup>th</sup>
答案 2 :(得分:0)
您可以使用<sup>
代码:
1<sup>st</sup> 2<sup>nd</sup>, ...
将呈现为:1 st 2 nd ,...