将字符串中的数字转换为货币格式

本文关键字:货币 格式 转换 数字 字符串 | 更新日期: 2023-09-27 18:08:31

在我的ASP.net c#应用程序中,我必须从不同的数据库检索值并将它们存储在字符串变量中。

其中一个变量用于存储来自意大利的Product Amount(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();
    }

将字符串中的数字转换为货币格式

您可以使用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"));

格式化

or的用法。取决于要格式化的给定区域性。