1

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

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,这是预期的。请帮助我解决同样的问题。

4

1 回答 1

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);
}

这是一个演示

如果您有任何问题,请告诉我。祝你好运!:)

于 2013-04-14T16:09:49.057 回答