0

これについて助けが必要です。
次のコードは、3.5 と 4.5 の両方の .NET Framework がインストールされている Win7/Win8 マシンで正常に動作します。

CultureInfo info = CultureInfo.CreateSpecificCulture("hr-HR");
string ui = txtUkupanIznos.Text.Trim();
decimal pvalue;

if (decimal.TryParse(ui, NumberStyles.Any, info, out pvalue))
{
    decimal poreznaStopa = 0.00m;
    decimal ukupanIznos = 0.00m;
    try
    {
        poreznaStopa = Convert.ToDecimal(txtstopa.Text.Replace(".", ","), info);
        ukupanIznos = Convert.ToDecimal(ui.Replace(".", ","), info);
    }
    ...

しかし、.NET Framework 3.5 SP1 がインストールされた XP マシンでは、これにより FormatException がスローされるため、削除する必要があります。Replace(".", ",")

なんで?

4

2 に答える 2

4

私の推測では、クロアチア向けに定義された地域設定が、これらの Windows バージョン間で変更された可能性があります。MSDNのサンプル コードを実行して 3 台の異なる PC で設定を出力すると、数値の形式はどうなりますか?

于 2013-07-02T15:27:37.217 に答える