簡體   English   中英

試圖將字符串轉換為雙C#?

[英]Trying to convert string into double C#?

 double test = Convert.ToDouble("39,618840‎");

這給了我格式異常,並且我嘗試使用Cultureinfo.invariantculture設置,它的作用相同。

零后有一個尾隨的不可見字符。 去掉它。

在此處輸入圖片說明

然后,這有效:

var culture = CultureInfo.GetCultureInfo("FR-fr");       
var qty = Convert.ToDouble("39,618840", culture);

該字符串中包含一些無效字符。

查看十六進制字符串,我們看到以下內容:

"39,618840‎" --> 0x22, 0x33, 0x39, 0x2c, 0x36, 0x31, 0x38, 0x34, 0x30, 0xe2, 0x80, 0x8e, 0x22

字符實際上看起來像:

"39,618840â€Ẑ"
        if (myString.Contains(","))
            myString = myString.Replace(",", "");
        double mydouble = Double.Parse(myString);

使用上述方法會將字符串解析為雙精度型,您的問題是逗號。 如果您打算將逗號用作小數點,則可以進行以下修改:

        myString = myString.Replace(",", ".");

暫無
暫無

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

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