带有负浮动的字符串浮动? [复制]
Posted
技术标签:
【中文标题】带有负浮动的字符串浮动? [复制]【英文标题】:String with negative float to float? [duplicate] 【发布时间】:2014-08-07 12:49:20 【问题描述】:这基本上是我的代码:
string text = "-0.05537987";
float value = Single.Parse(text);
当我尝试解析负数时,我得到“输入字符串的格式不正确。”
【问题讨论】:
它对我有用。在 Windows 7 上使用 .NET 4.0 客户端。也许问题出在代码的其他地方? 问题出在别处很抱歉 【参考方案1】:您的解析应该可以工作,我相信您当前的文化对于小数分隔符有不同的字符。使用CultureInfo.InvariantCulture
float value = Single.Parse(text, CultureInfo.InvariantCulture);
【讨论】:
或者他可以将他的线程文化更改为适当的文化... Thread.CurrentThread.CurrentCulture = new CultureInfo("his-string-format-culture"); @user3740638,你确定你在文本中的值是"-0.05537987"
吗?它应该可以工作。
Ummmmmmmm 我是个白痴。在我的实际代码中,我使用破折号拆分字符串,而否定的破折号拆分字符串并将所有内容都搞砸了。抱歉,感谢您的快速回复。【参考方案2】:
你的代码对我来说很好 - https://dotnetfiddle.net/JfPfss
使用 InvariantCulture 看看是否是问题所在:
float value = Single.Parse(text, CultureInfo.InvariantCulture);
【讨论】:
【参考方案3】:只需使用 CultureInfo.InvariantCulture
string text = "-0.05537987";
float value = Single.Parse(text, CultureInfo.InvariantCulture);
MessageBox.Show("your value = "+value);
【讨论】:
以上是关于带有负浮动的字符串浮动? [复制]的主要内容,如果未能解决你的问题,请参考以下文章