最近新しい仕事があり、顧客からソフトウェアのエラーに関する質問を受けました。エラーは、「文字列 '0.5' から型 'double' への変換は無効です」です。
問題のある行を見つけたと思います。顧客はフランスにいて、コンピューターの設定がすべてフランス語 (番号付けシステム、言語など) であるため、"0.5" を "0,5" のフランス語の数値バージョンにキャストすることはできません。フランスのシステムには小数点がありません。数のどこにでも。そのため、string.format が「0.5」を検出した場合、「.」がないため、何をすべきかわかりません。フランス文化の設定で二重にキャストされるキャラクター。私はここにいますか?
context.Append(String.Format("{0} {1} exceeds fine {2} limit of {3:N0}", _
context.OccupancyState, context.Size, _
Reg.Alert.ToLower, context.Limit))
context.Size は「0.5」文字列を保持します。
format.string はカルチャ設定を考慮に入れていますか、それともここで何か不足していますか?
編集:
フランスのWindows VMで試してみたところ、(残念ながら)「0,5」として正常に解析できました...おそらくそれは問題ではありませんか?