1

この VB .NET アプリケーションでは、"c0" および "c2" フォーマット文字列を使用して、通貨値をあらゆる場所に表示します。

最近、これらの通貨の値が $ 記号で正しく表示されず、奇妙な記号 ¤ で表示されるという問題がユーザーに発生しました。ウィキペディアを通じて、それが一般的な通貨記号であることがわかりました: http://en.wikipedia.org/wiki/Currency_(typography)

私のマシンで一度だけ問題が発生するのを見たことがありますが、それ以来、再現できていません。アプリを再起動したら消えました。実際、問題が発生するとすぐにアプリケーションの別のインスタンスを開始しましたが、その 2 番目のインスタンスでは $ 記号が正常に表示されました。

この奇妙な問題を修正する方法についての洞察をいただければ幸いです。

4

2 に答える 2

1

最終的に、この問題が一貫して発生するビルドを入手しました。

RedGate SQL Compare を使用してユーザーのデータベースを比較および更新しましたが、RedGate のバグが原因で、Globalization.CultureInfo.CurrentCulture が "en-US" から "" に変更されました。これにより、Globalization.CultureInfor.CurrentCulture.NumberFormat.CurrencySymbol が汎用記号 ¤ に変更されました。

一部のデータベースで問題が発生し、他のデータベースでは発生しなかった理由についてはまだ不明ですが、回避策は確かに見つかりました。

RedGate の問題は、次のフォーラム スレッドで確認されました: http://www.red-gate.com/messageboard/viewtopic.php?t=10864であり、 2011 年 3 月のリリース以降に修正されています。

于 2011-07-28T18:35:49.823 に答える
0

書式文字列を使用する前に、書式ロケールを明示的に設定する必要がある場合があります。

于 2011-07-27T18:35:34.217 に答える