scala - 除以零会得到 Scala 中的 unicode #8734 字符

标签 scala velocity

我在我的 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并搜索 221e221EInfinity8734 甚至 Infinity。我没有发现任何表明这种转换的迹象。


有一个简单的解决方案可以找到转换的结果(这对于此类问题来说是通用的):

  • 使用调试器访问权限运行您的应用(对于外部启动的 JVM,您需要 debug mode 最好使用 suspend=y),
  • 在该debug语句上放置一个断点,
  • 逐步执行,直到找到有问题的代码。

关于scala - 除以零会得到 Scala 中的 unicode #8734 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18866235/

相关文章:

scala - 在 Scala 中覆盖 val

javascript - 使用 javascript 传递按钮值并使其可在 xwiki 宏中使用

templates - 如何查看速度模板上可用的所有变量

javascript - Mocha 测试不等待发布/订阅

java - 操作 VelocityView 来更改模板名称

java - 访问 Swagger ApiAuthorizationFilter 中的 @ApiOperation 属性

scala - Playframework异常的CPU负载

java - Play框架入门

java - 更新错误 :org. elasticsearch.ElasticsearchIllegalArgumentException:执行脚本失败

java - 我可以通过 Velocity 中的属性名称进行访问吗?