我有一个转发器,其中包含ICD9代码作为其中一个值:
<asp:Repeater runat="server" ID="rptDRGGrouper">
<HeaderTemplate>
<table>
<tr>
<th>ICD9 Code</th>
<th>Description</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#DataBinder.Eval(Container.DataItem, "ICD9Code").ToString()%></td>
<td><%#DataBinder.Eval(Container.DataItem, "Description").ToString()%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
此处的ICD9代码没有格式化。我想补充一些以便
V5789 // current output
V57.89 // desired output
应在第三个字符后添加小数(如果有第四个字符)。 e.g。
496 becomes 496 // no change
3051 becomes 305.1
v5789 becomes v57.89
答案 0 :(得分:5)
根据面值,我会为此创建一个扩展方法:
public static class Extensions
{
public static string ICD9Format(this string input)
{
//check easy cases first
if (string.IsNullOrEmpty(input) || input.Length <= 3)
{
return input;
}
return input.Insert(3, ".");
}
}
然后,使用它:
<td>
<%#DataBinder.Eval(Container.DataItem, "ICD9Code").ToString().ICD9Format()%>
</td>
这是假设这种格式没有其他特殊规则。