Double.Parse不能保留逗号
我试图将字符串转换为双53.095
,我有这个值: 53.095
并尝试转换为双53.095
为:
string doub = "53.095";
var cv = Convert.ToDouble(doub);
我得到: 53095
。 为什么我没有得到逗号? 我错过了什么?
我想这是因为不同的国家处理逗号的方式不同。 我的国家,例如使用,
来代替。 所以你必须知道字符串是如何格式化的。
string doub = "53.095";
var cv = double.Parse(doub, new CultureInfo("en-GB"));
对于另一个本地化,这将工作。
string doub = "53,095"; // note ,
var cv = double.Parse(doub, new CultureInfo("sv-SE"));
编辑:
正如king_nak提到的,只要您使用英文样式进行格式化,就可以使用CultureInfo.InvariantCulture
。
它与英语有关,但不与任何国家/地区有关。
string doub = "53.095";
string doub2 = "53,095";
var cv1 = double.Parse(doub, CultureInfo.InvariantCulture); // Works
var cv2 = double.Parse(doub2, CultureInfo.InvariantCulture); // Does not work.
链接地址: http://www.djcxy.com/p/75111.html