簡體   English   中英

c#Covert.ToDecimal 3.5和4.5框架與XP機器的區別

[英]c# Covert.ToDecimal difference in the 3.5 and 4.5 framework and xp machine

我需要這方面的幫助。
在安裝了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(".", ",")

為什么?

我的猜測是在這些Windows版本之間為克羅地亞定義的區域設置可能已更改。 如果您在MSDN中運行示例代碼以在三台不同的PC上輸出設置,那么您看到的數字格式是什么?

在Windows Vista之前,這種文化定義的可能性不大。 我猜hr-HR在舊版OS中可能沒有任何意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM