C# 循环遍历 float 的​​正确方法

标签 c#

我正在循环执行如下所示的函数:

Y=exp(-0.04*(x-13.25)^(2))*300

假设我想得到 Y对于 x 的每个值每个 0.1 interval 在 3.3454 和 20.3458 之间

我会这样做:

for (float i=3.3454;i<20.3458;i=+.1)

这是执行此操作的正确方法吗?

最佳答案

如果您在每个循环中添加 0.1,您将以累积错误告终。不可能将 0.1 精确存储为 float ,当您重复添加 0.1F/D 时,您会开始注意到漂移。如果您真的想尽可能接近,请在循环中使用整数,然后除以整数值来计算 float 。

关于C# 循环遍历 float 的​​正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074938/

相关文章:

c# - 子类中的构造函数顺序

c# - 如何根据先前条件计算对象的当前值?

c# - Mahapps,不适用于用户控件的主题

c# - 找不到文件 : Source link authentication failed

c# - C# 中的 Java Map 等效项

c# - RSA 公共(public)指数默认为 65537。这个值应该是多少?我的选择有什么影响?

c# - SendEmail 方法不起作用

java - 策略模式的真实示例

c# - 从服务器而不是本地驱动器路径在 MVC ASP.NET 中加载 XML 文件

c# - 如何使用7z SDK压缩和解压XZ文件