在我的ASP.net C#应用程序中,我必须从不同的数据库中检索值并将它们存储在字符串变量中。
其中一个变量用于存储意大利的产品数量(pd_amnt)。所以值的形式为“1.000.000.000,00”,但我需要将所有(。)替换为(,),然后值的形式为“1,000,000,000.00”。为了解决这个问题,我使用了Replace(),但它失败了,因为没有人能想到特定字符串值会有多少逗号(,)。
如何解决这个问题?在C#.NET中是否有相同的单独方法?
protected void btnSub_Click(object sender, EventArgs e)
{
//Try1
double value = 1.234567890;
Response.Write(value.ToString("#,#", CultureInfo.InvariantCulture));
Response.Write(String.Format(CultureInfo.InvariantCulture,"{0:#,#}", value));
//Try2
string a = txtvalue.Text;
string b= a.ToString(new CultureInfo("en-US"));
txtConverted.Text = b.ToString();
}
答案 0 :(得分:1)
您可以使用C或c格式化货币:
string.Format("{0,C2}", value);
string.Format(new System.Globalization.CultureInfo("en-GB"), "{0:C}", value)
或使用ToString和文化信息:
Console.WriteLine(value.ToString("C2", CultureInfo.CreateSpecificCulture("da-DK"));
使用,或。取决于您正在格式化的给定文化。您可以为这些提供格式规则。