私のアプリケーションで奇妙なことが起こっています。ローカルで実行すると、通常の 10 進数であるはずの結果が得られます。しかし、サーバーから同じアプリケーションを実行している場合、10 進数は 100 で除算されます。同じコードを使用し、同じアプリをデプロイしていますが、なぜそうなるのか疑問に思っています。どんなアドバイスも大歓迎です。前もって感謝します、 ラツィアーレ
質問する
79 次
1 に答える
3
明らかに、サーバーは別のロケールで実行されています。
文字列から 10 進数に変換するときはいつでも、ロケール (CultureInfo) が重要です。
たとえば、が小数点として設定されているか千単位の区切りとして設定されているかによって、またはを指定ConvertToDecimal("1.00")
できます。1
100
.
これを防ぐには、常に を使用してConvertToDecimal("1.00", someCulturInfo)
ください。
文字列がユーザーのロケールで定義されている場合にのみ、デフォルトに依存できます。
于 2012-04-13T14:22:22.707 に答える