C# 字符串格式不工作

C# 字符串格式不工作,c#,.net,vb.net,string,string.format,C#,.net,Vb.net,String,String.format,我试图将数据集中存储的数字显示为字符串或电话号码。我有一个绑定到值的标签,但不显示我作为arg传递的格式: <asp:Label ID="lbl005108002" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "phone number", "{0:(###) ###-####}") %>'></asp:Label> 在这两种情况下,值都显示为:04152543926我更喜欢在我的

我试图将数据集中存储的数字显示为字符串或电话号码。我有一个绑定到值的标签,但不显示我作为arg传递的格式:

<asp:Label ID="lbl005108002" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "phone number", "{0:(###) ###-####}") %>'></asp:Label>

在这两种情况下,值都显示为:04152543926

我更喜欢在我的codebehind中进行数据绑定:

<asp:Label ID="lbl005108002" runat="server" Text="" OnDataBinding="lbl005108002_DataBinding"></asp:Label> 
protected void lbl005108002_DataBinding(object sender, System.EventArgs e)
{
    Label lbl = (Label)(sender);
    lbl.Text = String.Format("{0:(###) ###-####}", (int)(Eval("phone number")));
}

我认为关键在于转换为
int
,以便格式化程序知道如何处理发送给它的值。我更喜欢在codebehind中执行此操作,因为有时尝试将所有内容嵌入到行中会使事情变得不那么明确。

我更喜欢在codebehind中执行数据绑定:

<asp:Label ID="lbl005108002" runat="server" Text="" OnDataBinding="lbl005108002_DataBinding"></asp:Label> 
protected void lbl005108002_DataBinding(object sender, System.EventArgs e)
{
    Label lbl = (Label)(sender);
    lbl.Text = String.Format("{0:(###) ###-####}", (int)(Eval("phone number")));
}

我认为关键在于转换为
int
,以便格式化程序知道如何处理发送给它的值。我更喜欢在codebehind中这样做,因为有时试图将所有内容都塞进行内会使事情变得不那么明确。

什么类型的值?这对我来说似乎很好:

     int phone_num = 1231231234;
     string f = String.Format("{0:(###) ###-####}", phone_num);

价值是什么类型的?这对我来说似乎很好:

     int phone_num = 1231231234;
     string f = String.Format("{0:(###) ###-####}", phone_num);
另一种方法是:

尺寸i为整数=5551234567 将s作为String=i.ToString((########-###)

ToString是我使用的最快的方法。我所做的是在电子命令窗口中我做了以下操作:

? 5551234567.ToString("(###) ###-####")
结果是:

"(555) 123-4567"
所以我确信它是有效的。祝你好运

另一种方法是:

尺寸i为整数=5551234567 将s作为String=i.ToString((########-###)

ToString是我使用的最快的方法。我所做的是在电子命令窗口中我做了以下操作:

? 5551234567.ToString("(###) ###-####")
结果是:

"(555) 123-4567"

所以我确信它是有效的。祝你好运

谢谢,似乎我必须先把它转换成int,这是我没有做的。看来我必须先把它转换成int,这是我没有做的