c# - 如何使 double 正常工作? C#

标签 c# double

代码如下:

    static void Main(string[] args)
    { 
        int xd2 = 5;

        for (double xd = (double)xd2; xd <= 6; xd += 0.01)
        {
            Console.WriteLine(xd);
        }

    }

这是输出: enter image description here

我想继续加 0.01(正如您在屏幕上看到的,有时恰好加 0.99999) 谢谢

最佳答案

使用decimal如果你想保持这种准确性。

浮点类型不能准确表示某些值。我建议阅读 What Every Computer Scientist Should Know About Floating-Point Arithmetic以获得全面的解释。

decimal xd2 = 5m;

for (decimal xd = xd2; xd <= 6m; xd += 0.01m)
{
    Console.WriteLine(xd);
}

关于c# - 如何使 double 正常工作? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10693098/

相关文章:

c# - 提高 "shuffle"效率

c# - 格式化 TimeSpan 字符串

Java:将 Double.MIN_NORMAL 添加到 double 不会更改数字

c++ - std:numeric_limits<double>::epsilon 定义

Python: float 或 double

c# - 将 Razor 页面呈现为字符串

c# - 如何在数据库表中查找连接的组合框中所选项目的索引

java - 如何在 Java 或 Groovy 中找到下一个 Double?

java - 如何从 double 中删除 ".0"?安卓工作室

c# - TFS Rest API 查询