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 に答える