C#でcultureinfoを使用して値9.999.999を9'999.999に変換しようとしていますが、C#でcultureinfoを使用して百万円( ')と千(。)を設定するには
どうすればいいですか?
C#でcultureinfoを使用して値9.999.999を9'999.999に変換しようとしていますが、C#でcultureinfoを使用して百万円( ')と千(。)を設定するには
どうすればいいですか?
これは文字列なので、最初のグループに別のグループセパレータが必要ですか?あなたが最後のドット以外のすべてを置き換えることができ
:
string value = "9.999.999";
StringBuilder sb = new StringBuilder(value);
bool skippedLast = false;
for (int i = sb.Length - 1; i >= 0; i--)
{
if (sb[i] == '.')
{
if (!skippedLast)
skippedLast = true;
else
sb[i] = '\'';
}
}
string desiredOutput = sb.ToString(); // 9'999.999
ありがとう!それは私のために働く –
フレームワークに同梱されているIFormatProvider
実装はあなたが望む機能/必要性に欠けるデフォルト以来、私はさらに
インターフェースを自分で実装することをお勧めCultureInfo
は封印されていないため、クラスを拡張して実装をSystem.Threading.Thread.CurrentThread.CurrentCulture
に提供することができます。特定のフォーマットプロバイダで呼び出されない限り、そのスレッドのすべての連続した書式設定呼び出しが実装を使用します。
また、 'ICustomFormatter'が必要です。おそらくあなたはそれをあなたの答えに加えたいと思うでしょう。参照:https://msdn.microsoft.com/en-us/library/system.icustomformatter(v=vs.110).aspx –
こんにちは、あなたが試したことを私たちに教えてください。あなたは正しい道を歩いています。 – Stefan
は '9.999.999'文字列か小数ですか? – Rahul
文字列変数 –