簡體   English   中英

c#double.parse()總是使用a。 期間不是逗號

[英]c# double.parse() to always use a . period not comma

如何指定我的decimal.Parse必須始終期望接收帶有'。'的字符串。 像“4.75”無關電腦的系統設置是什么?

我正在讀取excel的文件,它給了我一個'。'的價值。 我看到,如果我在我的筆記本電腦上運行我的程序它會拋出錯誤,因為它期望','

我可以用:

string tmp1 = tmp[2].Replace('.', ',');

但很明顯,如果我的電腦想要一個''。 那么它會給出一個錯誤。

什么是我最好的選擇?

請參閱: Double.Parse

使用此重載在您的案例CultureInfo.InvariantCulture指定IFormatProvider

var value = double.Parse(tmp[2], CultureInfo.InvariantCulture);

但是如果你打算讓你的過程持久,我會推薦Double.TryParse

double value;

if(!double.TryParse(tmp[2],
   NumberStyles.None,
   CultureInfo.InvariantCulture,
   out value))
{
    // error handling
}

使用Double.Parse Method (String, IFormatProvider)CultureInfo.InvariantCulture進行解析。

double d = double.Parse("2.2", CultureInfo.InvariantCulture);

您可以使用Decimal.Parse的重載,它允許您指定文化:

decimal value = decimal.Parse(tmp[2], CultureInfo.InvariantCulture);

暫無
暫無

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

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