如何为负变量赋一个负指数值?

时间:2016-06-11 04:37:36

标签: c# types syntax

d double;
f float;
d = 4.4e38;//±3.4e38 is maximum value of float
f = (float)d;
Console.WriteLine("f = (float)d is " + f);//op is Infinity
d = -2.5E−45;    
f = (float)d;
Console.WriteLine("f = (float)d is " + f);//expected op is zero

我的查询:d = -2.5E-45;这个LOC给出了编译错误,请告诉我在双变量中赋值的正确方法

编辑: 是的,你是对的,一旦我纠正减号,我的代码开始运行。;±1.5e-45是浮点数的最小值。当我将值-2.5e-45分配给d,这是在较低范围之外,然后将double转换为float应该给我结果为ZERO,但结果为-2.802597e-45,为什么?

此页面中的

msdn.microsoft.com/en-us/library/yht2cx7b.aspx注释数字4表示如果double太大而无法放入float,则将结果转换为INFINITY,如果太小则会导致ZERO。在我的代码示例中,我正在尝试检查这两个条件,通过采用这样的值,它在转换后创建INFINITY和ZERO的情况。如果我没有采用变量d的适当值来为ZERO创建一个案例作为结果,请纠正我。

0 个答案:

没有答案
相关问题