首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# -错误的字符串到单个转换

C# -错误的字符串到单个转换
EN

Stack Overflow用户
提问于 2016-09-26 06:49:59
回答 1查看 1.8K关注 0票数 0

我正在编写一个从微控制器到PC机的数据采集程序。数据采用浮点格式。我试图使用Convert.ToSingle(string)将字符串转换为浮点数,但转换结果是错误的:

  1. "0.11“被转换为11,有时是12。
  2. 将"0.10“转换为10等。

正如你所看到的,它正在失去领先的0。这是意料之外的。怎么会发生这种事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-26 06:52:27

你的问题是文化特有的。在某些文化中,浮点数由,分隔,在有些文化中,浮点数由.分隔。

在你的情况下

代码语言:javascript
复制
String a = "0,11";
Convert.ToSingle(a)

应该会导致您期望的结果为0,11。

因此,您应该显式指定使用.作为小数分隔符的相关区域性。一种可能是以英语为基础的不变文化。

尝试以下几点:

代码语言:javascript
复制
String a = "0.11";
Convert.ToSingle(a, CultureInfo.InvariantCulture)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39696363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档