是否有格式表达式我可以用来将小数点插入字符串?

时间:2014-06-06 19:20:37

标签: c# asp.net

我有一个转发器,其中包含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

1 个答案:

答案 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>

这是假设这种格式没有其他特殊规则。