Пролог: как преобразовать строку в целое число? - PullRequest
4 голосов
/ 22 июля 2011

Итак, как говорится в заголовке - как преобразовать строку в целое число? идея примерно такая:

convert(String,Integer).

examples:
convert('1',1).
convert('33',33).

Я использую swi prolog

Ответы [ 4 ]

12 голосов
/ 22 июля 2011

Использовать atom_number / 2.Например:

  atom_number('123', X).
  X = 123.
9 голосов
/ 22 июля 2011

Предполагая, что вы действительно имели в виду строку, а не атом, используйте number_codes.

?- number_codes(11, "11").
true.

?- number_codes(11, Str).
Str = [49, 49].            % ASCII/UTF-8

?- number_codes(N, "11").
N = 11.
4 голосов
/ 22 июля 2011

Возможно, использование atom_codes(?Atom, ?String) и number_chars(?Number, ?CharList) сделает это.

0 голосов
/ 21 декабря 2017

в Visual Prolog конвертируется:

X=toTerm(real,H).

реальный / целое / без знака ...

...