2013-09-18 2 views
2

Я использую шаблон скорости в своем приложении Scala, которое записывается в файл. Если я делю на ноль, почему я получаю представление unicode (∞) в моем файле с шаблоном журнала и Infinity, напечатанный на консоли Eclipse при отладке кода ниже?Деление на ноль дает символ unicode # 8734 в Scala

val params = MMap.empty[String, Any] 
params.put("percent", ((23.6 * 100.0)/0.0)) 
debug(params.get("percent")).toDouble + "") 
+1

Что вы ожидаете? –

+0

Мне нужно определить, где происходит преобразование из 'Infinity' в' ∞ '? – 212

+0

Я думаю, 'Double.toString' –

ответ

2

Вероятно потому, что этот персонаж U+221E INFINITY, т.е. , т.е. бесконечности знак?


Как где она исходит от, ну, это маловероятно, что она исходит от самого Scala. Я взял на себя ответственность за d/l текущий master и искал 221e, 221E, , 8734 и даже Infinity. Я ничего не нашел, что свидетельствует о таком преобразовании.


Там простое решение для поиска, что делает преобразование (и это является общим для таких задач):

  • запустить приложение с доступом в отладчике (для внешних запущенных виртуальных машин, которые необходимо debug mode с suspend=y предпочтительно),
  • положить точку останова на то, что debug заявление,
  • пройдите, пока не найдете оскорбительный код.
Смежные вопросы