我在我的 Scala 应用程序中使用速度模板,该模板记录到文件中。
如果我除以零,为什么在调试以下代码时会在模板化日志文件中得到 unicode 表示形式 (∞
) 并在 Eclipse 控制台上打印 Infinity
?
val params = MMap.empty[String, Any]
params.put("percent", ((23.6 * 100.0) / 0.0))
debug(params.get("percent")).toDouble + "")
最佳答案
可能是因为这个字符是U+221E INFINITY
,即∞
,即无穷大符号?
至于它来自哪里,嗯,它不太可能来自 Scala 本身。我冒昧地d/l当前的master并搜索 221e
、221E
、Infinity
、8734
甚至 Infinity
。我没有发现任何表明这种转换的迹象。
有一个简单的解决方案可以找到转换的结果(这对于此类问题来说是通用的):
- 使用调试器访问权限运行您的应用(对于外部启动的 JVM,您需要 debug mode 最好使用
suspend=y
), - 在该
debug
语句上放置一个断点, - 逐步执行,直到找到有问题的代码。
关于scala - 除以零会得到 Scala 中的 unicode #8734 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18866235/