C# 数学应用程序的哪种数字类型?

标签 c# .net math double decimal

我编写了一个区间分析 C# 应用程序,因此我必须处理非常大或非常小的数字。我认为 double 是一种非常好的数据类型(因为浮点运算)。用户可以定义任何函数,我可以使用以下正则表达式检测其中的数字:

([0-9]+)|([0-9]+.[0-9]+)

这是一个反之亦然的过程,应用程序计算了一些数据,我也必须在计算出的数据上匹配正则表达式。我的问题是,在某些关键情况下,double 使用科学缩写,例如 1E-9,但我想使用上面正则表达式中定义的格式。我认为 decimal 是一种适合这种情况的类型,但常见的数学函数使用双输入,所以我必须在所有地方转换它。

有没有好的有效方法来处理这个问题? (对不起我的英语)。

最佳答案

double 在您将其呈现为字符串之前不使用任何特定的文本格式。 然后您可以通过指定 standard format specifier 来选择要做什么或 custom format specifier .所以告诉它你想要什么。 double.ToString(string) 上显示了范围广泛的示例

关于C# 数学应用程序的哪种数字类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15635296/

相关文章:

c# - XDocument.Load(XmlReader) 可能的异常

c# - 使用并发堆栈

c# - Metro 应用程序通过 WCF 服务连接到 SQL - 错误

.net - 如何从 .NET 中的 WebBrowser 控件获取响应 header ?

c# - 计算 TabControl 中 Tab 的宽度(Windows 窗体)

c# - 阻止鼠标光标水平移动,但仍想捕获 MouseMove 事件

python - 如何检查 float 列表的总和是否为整数?

c# - 显示尾随零,除非是整数

math - 使用上下文无关语言抽取引理

c++ - OpenGL中n面棱镜的代码