[英]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.