我正在编写一个从微控制器到PC机的数据采集程序。数据采用浮点格式。我试图使用Convert.ToSingle(string)将字符串转换为浮点数,但转换结果是错误的:
正如你所看到的,它正在失去领先的0。这是意料之外的。怎么会发生这种事?
发布于 2016-09-26 06:52:27
你的问题是文化特有的。在某些文化中,浮点数由,分隔,在有些文化中,浮点数由.分隔。
在你的情况下
String a = "0,11";
Convert.ToSingle(a)应该会导致您期望的结果为0,11。
因此,您应该显式指定使用.作为小数分隔符的相关区域性。一种可能是以英语为基础的不变文化。
尝试以下几点:
String a = "0.11";
Convert.ToSingle(a, CultureInfo.InvariantCulture)https://stackoverflow.com/questions/39696363
复制相似问题