Итак, как говорится в заголовке - как преобразовать строку в целое число? идея примерно такая:
convert(String,Integer). examples: convert('1',1). convert('33',33).
Я использую swi prolog
swi prolog
Использовать atom_number / 2.Например:
atom_number('123', X). X = 123.
Предполагая, что вы действительно имели в виду строку, а не атом, используйте number_codes.
number_codes
?- number_codes(11, "11"). true. ?- number_codes(11, Str). Str = [49, 49]. % ASCII/UTF-8 ?- number_codes(N, "11"). N = 11.
Возможно, использование atom_codes(?Atom, ?String) и number_chars(?Number, ?CharList) сделает это.
atom_codes(?Atom, ?String)
number_chars(?Number, ?CharList)
в Visual Prolog конвертируется:
X=toTerm(real,H).
реальный / целое / без знака ...