преобразуйте целое число в строку в Erlang

lxml является последним, обновляется и включает в себя довольно печатную функцию

import lxml.etree as etree

x = etree.parse("filename")
print etree.tostring(x, pretty_print=True)

Проверьте учебник lxml: http://lxml.de/tutorial.html

56
задан collapsinghrung 25 February 2009 в 21:38
поделиться

4 ответа

Следующее является, вероятно, не самым опрятным путем, но это работает:

1> lists:flatten(io_lib:format("~p", [35365])).
"35365"

РЕДАКТИРОВАНИЕ: я нашел, что следующая функция пригождается:

%% string_format/2
%% Like io:format except it returns the evaluated string rather than write
%% it to standard output.
%% Parameters:
%%   1. format string similar to that used by io:format.
%%   2. list of values to supply to format string.
%% Returns:
%%   Formatted string.
string_format(Pattern, Values) ->
    lists:flatten(io_lib:format(Pattern, Values)).

РЕДАКТИРОВАНИЕ 2 (в ответ на комментарии): вышеупомянутая функция прибыла из небольшой программы, которую я записал некоторое время назад для изучения Erlang. Я искал строковую функцию форматирования и нашел поведение io_lib:format/2 в erl парадоксальным, например:

1> io_lib:format("2 + 2 = ~p", [2+2]).
[50,32,43,32,50,32,61,32,"4"]

В то время, я не знал об 'автосглаживающемся' поведении устройств вывода, упомянутых @archaelus и так завершенных, что вышеупомянутое поведение не было тем, что я хотел.

Этим вечером, я вернулся к этой программе и заменил вызовы к эти string_format функция выше с io_lib:format. Единственными проблемами, которые это вызвало, были несколько тестов EUnit, которые перестали работать, потому что они ожидали сглаженную строку. Они были легко зафиксированы.

я соглашаюсь с @gleber и @womble, что использование этой функции является излишеством для преобразования целого числа к строке. Если это - все, в чем Вы нуждаетесь, используете integer_to_list/1. KISS!

14
ответ дан Luke Woodward 7 November 2019 в 16:20
поделиться

Существует также integer_to_list/1, который делает точно, что Вы хотите без уродства.

146
ответ дан womble 7 November 2019 в 16:20
поделиться

Как в стороне, если когда-нибудь необходимо иметь дело со строковым представлением плаваний, необходимо посмотреть работа , который Bob Ippolito сделал на mochinum.

4
ответ дан Gordon Guthrie 7 November 2019 в 16:20
поделиться

Строка представляет собой список:

9> integer_to_list(123).  
"123"
28
ответ дан 26 November 2019 в 17:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: