我对此很好奇:
使用1/0
Java进行评估时,会发生以下异常:
线程“主”中的异常java.lang.ArithmeticException:/在Foo.main(Foo.java:3)处为零
但是1/0.0
被评估为Infinity
。
public class Foo {
public static void main (String[] args) {
System.out.println(1/0.0);
}
}
为什么会这样?
这是因为整数没有+/- Inf,NaN的值,并且不允许除以0,而浮点数确实具有这些特殊值。
问题内容: 因此,如果我有一个范围为‘0-1024’的数字,并且希望将其取为‘0-255’,那么数学将决定将输入除以输入的最大值(在这种情况下为1024),从而得出我的数字介于0.0-1.0之间。然后将其乘以目标范围(255)。 我要做什么! 但是由于Java中的某些原因(使用处理),它将始终返回值0。 该代码将像这样简单 但是我只得到0.0。我已经尝试过两次和诠释。一切都无济于事。为什么!? 问
我有一项任务,阐述C代码(在x86上运行)的一些看似奇怪的行为。我可以很容易地完成其他一切,但这件事真的让我困惑。 代码段1输出
问题内容: 为什么总是返回值0.0?我也想将其a格式化为00.00格式并转换为字符串吗? 问题答案: 因为转换为浮点数是在除法完成后发生的。你需要: 你应该可以使用以下格式进行格式化:
问题内容: 这是故意的吗?我强烈记得以前的版本返回了吗?我该怎么办,有没有新的分公司运营商,或者我必须始终选拔? 问题答案: 更改除法运算符
问题内容: 使用SQL Server 2012: 产量 必须指定要从中选择的表 这正是我所期望的。 但有趣的是 返回1。 有人可以向我解释这里算什么吗? 编辑:并可能包括来源… 问题答案: SQL Server(在幕后)有效地将from应用于仅具有一行的虚拟表。因此,您将得到1作为计数。 会做同样的事情,例如,一次返回“ test”。 就像Oracle中的DUAL表,DB2中的SYSDUMMY1等
我通过这个简单的演示来再现这个问题: -o0编译并运行: