在C#中解析负双数时发生异常

弗里特霍夫·伯格格伦

我正在编写从数据库中提取一些数据的代码。问题是我想将负数字符串“ -2.8”转换为双精度数。我想很容易。我首先尝试了:

var climateString = "−2.8";
var number = double.Parse(climateString);

结果如下:

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

所以我再三考虑,在谷歌上搜索,得到了新的答案:

var climateString = "−2.8";
var styles = NumberStyles.AllowParentheses | NumberStyles.AllowTrailingSign |NumberStyles.Float | NumberStyles.AllowDecimalPoint;
var rit = double.Parse(climateString, styles);

史诗再次失败:

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

我再三想,我不能如此愚蠢以至于不知道如何做这样一个简单的任务。我尝试了这个:

 var climateString = "−2.8";
 var doue = Convert.ToDouble(climateString, CultureInfo.InvariantCulture);

是的,完全相同的例外。我开始寻找一个数字,然后我意识到负号。仔细看这个数字“ -2.8”,这不是负数。这是一个负数“ -2.8”。再看那些迹象,“ -----------”不一样。解析具有不同符号字符的字符串会引发异常:S。因此,任何人都有一个主意,如何在C#中将其优雅地解析为双精度数字?谢谢你

索伦·德布瓦

正确的方法:

var climateString = "−2.8"; 

var fmt = new NumberFormatInfo();
fmt.NegativeSign = "−";
var number = double.Parse(climateString, fmt);    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在sql c#中插入双数据

来自分类Dev

参数无效在C#中创建新的位图时发生异常?

来自分类Dev

通过C#从Active Directory提取数据时发生异常

来自分类Dev

将String转换为Double C#时发生异常

来自分类Dev

从C#对SQL Server执行插入查询时发生异常

来自分类Dev

打开“解析”推送通知时发生异常

来自分类Dev

解析JSON数据时发生异常

来自分类Dev

解析十进制时发生异常

来自分类Dev

在Predictionio中训练数据时发生异常

来自分类Dev

从ArrayList中删除项目时发生异常

来自分类Dev

在片段中添加画布时发生异常

来自分类Dev

C#和SQL中的负日期

来自分类Dev

使用datagridView时,INSERT命令会发生异常,而删除和更新在使用Access数据库的C#中可以正常工作

来自分类Dev

C#中的异常

来自分类Dev

为什么Web服务中的方法在C#中返回Arraylist时会发生异常?

来自分类Dev

在C#中插入数据时引发异常

来自分类Dev

在C#中按下按钮时获取异常

来自分类Dev

在 C# 中引发事件时出现空引用异常

来自分类Dev

带有双数的C#问题

来自分类Dev

C ++计算小双数时出错

来自分类Dev

如何在Deedle C#中从框架中获取列作为双数组类型?

来自分类Dev

解析MappingNode时线程main中的异常

来自分类Dev

Signalr从服务器向客户端发送消息c#执行请求时发生未处理的异常

来自分类Dev

在C#中解析日期字符串时出错

来自分类Dev

在 C# 中解析 Json 格式数据时出错

来自分类Dev

C#中的ParseExact异常

来自分类Dev

C#中的异常(处理)

来自分类Dev

筛选Azure Table Storage中的DateTime字段时发生异常

来自分类Dev

在Wicket中禁用整个表单时发生异常

Related 相关文章

热门标签

归档