c#double.parse()始终使用.句点而不是逗号
本文关键字:句点 parse c#double | 更新日期: 2023-09-27 18:22:46
如何指定我的小数。分析必须始终期望接收到带有"."的字符串比如"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);