数値にコンマの代わりにドットを設定する

私は新しいXmlDocumentオブジェクトを持っています。 xmlは私のプログラム中に作成されます...

私は、作成されたxmlのすべての数値がデフォルトでコンマの代わりにドット記号で表示されるようにしたい。

私はそれを一度宣言するために何かを行うことができますが、小数点以下のすべての値を解析することはできませんか?

私。冒頭のどこかにカンマの代わりにこのドットを設定し、最後までこれを心配しないでください。

42
XMLに小数点を入れるが、ユーザーに値を表示するときに小数点のカンマを使用する場合は、その場で指定する必要があります。 「xmlにドットのみを使用する」設定はありません。
追加された 著者 Hans Kesting,

3 答え

これを試して:

System.Globalization.CultureInfo customCulture = (System.Globalization.CultureInfo)System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";

System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
87
追加された
CurrentCultureでNumberDecimalSeperatorを直接割り当てるだけではどうですか?
追加された 著者 Brent,
@Brentそれは私が推測しているreadonlyだ。
追加された 著者 pelican_george,

value.ToString(CultureInfo.InvariantCulture)を使用すると、数値を文字列に変換できます。または、ドットを小数点の区切り文字として使用するカルチャに現在のカルチャをグローバルに変更することもできます。

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
19
追加された
@ Jonas、あなたが指しているリンクは String.ToString(IFormatProvider)です。このパラメータがどのように "予約されている"かについての部分は、他の型には適用されず、String
追加された 著者 Thomas Levesque,
私のバージョン(.NET 4.5)では、 CultureInfo.GetCultureInfo( "en-US")です。完璧に動作します。
追加された 著者 itmuckel,
はい、私はGetCulture Info も必要としています。
追加された 著者 CodeMonkey,
value.ToString(CultureInfo.InvariantCulture)は現在動作しません: msdn.microsoft.com/en-us/library/29dxe1x2(v = vs.100).aspx
追加された 著者 kalaracey,

System.Globalization.CultureInfo.InvariantCulture Decimal.ToString(..)を使用します。/code>が適用されているようです。

またはグローバルに実行したい場合は、

CurrentCulture to set to always Invariant one, by using Applicaton.CurrentCulture property.

8
追加された
設定Application.CurrentCultureは私のために働いていない。
追加された 著者 Ted,