Сегодня я заметил, следующий вопрос о IronPython2.7:(железо) Python форматирование проблема с по модулю оператора и «отрицательного нуля»
При форматировании FORMAT_STRING, как это так, я получаю «Negativ ноль». Я получаю тот же результат, если я использую Python2.7 или Python3.4 вместо IronPython.
>>> "%.2f" % -0.004
'-0.00'
Тогда я понял, что я могу избавиться от Negativ нуля, передав два аргумента в строку формата следующим образом:
>>> "%s%.2f" % ('x', -0.004)
'x0.00'
«х» случайный характер. Итак, я форматирую другую строку перед значением float, а минус исчезает. Это не работает с python2.7 и Python3.4, хотя, где я получаю:
>>> "%s%.2f" % ('x', -0.004)
'x-0.00'
Кто-нибудь знает, что здесь происходит?
Какова цель отформатированного «отрицательного нуля» вообще?
Звучит как ошибка в IronPython. Предполагается, что он будет следовать за ссылочной реализацией CPython, где это возможно. –
Я не уверен, что вы знаете, но отрицательный ноль - вполне допустимое значение float: '-0.0'. Он отличен от (но равного) положительного нуля. Не знаю, почему IronPython заставляет знак минус исчезать, а в строке формата есть другое значение. – Blckknght