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

上一篇: Double.Parse cannot keep comma

下一篇: DE decimal changing to comma value issue in asp.net