首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# DivideByZeroException不会执行

C# DivideByZeroException不会执行
EN

Stack Overflow用户
提问于 2020-03-30 14:42:43
回答 2查看 242关注 0票数 1

我已经写了下面的代码。我希望输出是:错误!除以零..。但我的输出是:无穷大。这段代码有什么问题?

//这是一门课:

代码语言:javascript
复制
 public class Exc    
 {
    private double number1;
    private double number2;
    public double result;

    public Exc(double n1,double n2)
    {
        this.number1 = n1;
        this.number2 = n2;
    }

    public void Div(double number1, double number2)
    {

        try
        {
            result = number1 / number2;
            Console.WriteLine(result);
        }

        catch (DivideByZeroException e)
        {
            Console.WriteLine("Error! Division by zero.{0}",e);

        }

    }
}

//这是我的节目:

代码语言:javascript
复制
static void Main(string[] args)
{

    Console.WriteLine("Enter the first number:");
    double n1 = Convert.ToDouble(Console.ReadLine());
    Console.WriteLine("Enter the second number:");
    double n2 = Convert.ToDouble(Console.ReadLine());

    Exc obj = new Exc(n1, n2);
    obj.Div(n1,n2);

    Console.ReadKey();
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-30 14:45:56

使用浮点和双类型的算术操作从不抛出异常。这些类型的算术运算的结果可以是表示无穷大而不是a-数字的特殊值之一:

代码语言:javascript
复制
double a = 1.0 / 0.0;
Console.WriteLine(a);                    // output: Infinity
Console.WriteLine(double.IsInfinity(a)); // output: True

来源

票数 3
EN

Stack Overflow用户

发布于 2020-03-30 14:45:27

您将得到除以零误差,只有在整数输入的情况下,在c#。对于双倍的期望输出是无穷大的。如果您想知道Double.IsInfinity是否除以零,则应该对它进行检查。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60933044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档