我有来自数据库(字符串)中包含文本和价格的表中的数据.我从数据中提取价格但我的问题是,有时我可以将其转换为浮点数,有时则不会.
我注意到 :
Convert.ToSingle(m.Groups[1].Value);
它的工作原理但并不总是因为某个时期是问题(它需要一个逗号).我能做什么?我试图用","替换".",但有时在其他PC上它是一个需要它的时期!
您遇到此问题,因为转换会检查您的PC语言.您将需要执行以下操作:
Convert.ToSingle(m.Groups[1].Value, CultureInfo.InvariantCulture.NumberFormat);
这种方式,它不会检查PC的语言.您可以从MSDN 找到有关InvariantCulture的更多信息.我在项目中有类似的东西,我的转换工作.
或者明确地询问这个特定的数字格式:
System.Globalization.NumberFormatInfo nf = new System.Globalization.NumberFormatInfo ( ) { NumberGroupSeparator = "." }; float f = float.Parse ( "5.34534", nf );