3

私はこのようなコードを持っています。

GridView1.FooterRow.Cells[11].Text = String.Format("{0:c}", sumKV)

私のコンピューターでは、このコードはそのような結果をもたらします。

ここに画像の説明を入力してください

しかし、このコードを仮想マシンにアップロードすると、次のようになります。

ここに画像の説明を入力してください

TLはトルコリラを意味します。しかし、私は通貨を表示したくありません。数字が欲しいだけです。

また、数字の形式を変更したくありません。(257.579,02のように)

このコードでTLのみを削除するにはどうすればよいですか?

4

4 に答える 4

3

私はこれを使用します:

var cultureWithoutCurrencySymbol = 
    (CultureInfo)CultureInfo.CurrentCulture.Clone();
cultureWithoutCurrencySymbol.NumberFormat.CurrencySymbol = "";
GridView1.FooterRow.Cells[11].Text = 
            String.Format(cultureWithoutCurrencySymbol, "{0:c}", sumKV).Trim();

背景:
これにより、現在のカルチャの通貨の書式設定が維持されますが、通貨記号が削除されるだけです。
この特別なカルチャはどこかに保存できるため、値をフォーマットする必要があるたびに作成する必要はありません。

アップデート:

  • 今でもコンパイルされます... ;-)
  • Trim()フォーマットされた数値の後にまだスペースがあるため、 を追加しました。
于 2011-04-06T07:47:20.987 に答える
1

もう 1 つのオプションは、現在のスレッドの通貨記号を完全にオフにすることです。

private static NumberFormatInfo SetNoCurrencySymbol()
{
    CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
    NumberFormatInfo LocalFormat = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();

    NumberFormatInfo ret = culture.NumberFormat;

    LocalFormat.CurrencySymbol = "";
    culture.NumberFormat = LocalFormat;

    // Add the culture to the current thread
    Thread.CurrentThread.CurrentCulture = culture;

    return ret;
} 

そうすれば、変更するコードが少なくなります。後でいつでも元に戻すことができます。

 NumberFormatInfo origNumberFormat  = SetNoCurrencySymbol();

 string x = String.Format("{0:c}", 55);

 CultureInfo.CurrentCulture.NumberFormat = origNumberFormat;

 string y = String.Format("{0:c}", 55);
于 2011-04-06T07:44:37.570 に答える
0

フォーマット文字列のみで String.Format を使用しているため、sumKV はアプリケーションで実際に使用されている UI カルチャに従ってフォーマットされます。

GridView1.FooterRow.Cells[11].Text = String.Format("{0:c}", sumKV),

通貨記号を取り除くには、次のように InvariantCulture を使用しますString.Format

String.Format(CultureInfo.InvariantCulture, "{0:c}", sumKV);
于 2011-04-06T07:49:42.273 に答える
0

通貨を表示したくない場合は、通貨フォーマット コード {0:c} を使用しないでください。おそらく、次のようなことを試してください。

GridView1.FooterRow.Cells[11].Text = String.Format("{0:G}", sumKV);

この記事を参照してください - String.Format doubles

于 2011-04-06T07:54:57.777 に答える