翻倍.解析不能保留逗号
本文关键字:保留 不能 翻倍 | 更新日期: 2023-09-27 18:09:33
我正在尝试将字符串转换为双精度,我有这个值: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.