問題 §
Blazor WebAssemblyでToString("C");が不適切な文字列を返す (円記号を用いた日本の通貨表示ではない)
なお、カルチャは以下のようにプログラムの最初で設定済みである。
var cult = System.Globalization.CultureInfo.CreateSpecificCulture("ja-JP");
System.Threading.Thread.CurrentThread.CurrentCulture = cult;
デスクトップアプリ/サーバアプリの時には同じコードで円記号が出ていた。
原因 §
不明。
(どうもBlazor WebAssemblyの場合は、実行している途中で設定してあったカルチャ情報がどこかに消えてしまうっぽい)
解決 §
カルチャ情報を使用する直前にカルチャ情報を設定する。つまり、ToString("C");の直前に設定コードを実行させる。