将用户输入的值转换为美元货币

时间:2013-04-14 16:02:52

标签: c# currency

我有一个场景,用户以字符串形式输入值,我需要将其转换为 美元货币并在表格上显示。我尝试过以下方法。

protected void btn_Click(object sender, EventArgs e)
{
    string money = txtbox.Text;
    string currency = Convert.ToDecimal(txtbox.Text, new CultureInfo("en-US")).ToString("C");
    money = currency;
    Response.Write(money);
}

问题是当用户输入56789时,结果显示为$ 56,789.00,其中我不希望在“。”之后出现不必要的零。当用户输入为56789.67时,结果显示为$ 56,789.67,这是预期的。请帮我讲一下。

1 个答案:

答案 0 :(得分:1)

试试这个:

protected void btn_Click(object sender, EventArgs e)
{
    Decimal currency = Convert.ToDecimal(txtbox.Text, new CultureInfo("en-US"));
    string money = currency.ToString("C");

    if (currency % 1 == 0) {
        money = money.Substring(0, money.Length - 3);
    }

    Response.write(money);
}

这是demo

如果您有任何疑问,请与我们联系。祝好运! :)