c# -错误的字符串到单个的转换
本文关键字:单个 转换 字符串 错误 | 更新日期: 2023-09-27 18:08:42
我正在写一个程序从微控制器到PC获取数据。数据为float格式。我试图将字符串转换为使用Convert.ToSingle(string)
的浮点数,但转换结果是错误的:
- "0.11"被转换为11,有时是12。
- "0.10"转换为10。等
可以看到,它正在丢失前导0。这是出乎意料的。这是怎么发生的?
你的问题与文化有关。在某些文化中,浮点数用,
隔开,在某些文化中,用.
隔开
在你的情况下
String a = "0,11";
Convert.ToSingle(a)
应该得到您想要的结果0,11。
因此,您应该显式地指定使用.
作为小数分隔符的相关区域性。一种可能是以英语为基础的不变文化。
尝试以下操作:
String a = "0.11";
Convert.ToSingle(a, CultureInfo.InvariantCulture)