Prolog:如何将字符串转换为整数?

Iva*_*Iva 4 string integer prolog

正如标题所说 - 你如何将字符串转换为整数?这个想法是这样的:

convert(String,Integer).

examples:
convert('1',1).
convert('33',33).
Run Code Online (Sandbox Code Playgroud)

我正在使用 swi prolog

gus*_*bro 12

使用atom_number/2.例如:

  atom_number('123', X).
  X = 123.
Run Code Online (Sandbox Code Playgroud)


Fre*_*Foo 9

假设你真的是指一个字符串而不是一个原子,请使用number_codes.

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

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

?- number_codes(N, "11").
N = 11.
Run Code Online (Sandbox Code Playgroud)


MRA*_*RAB 5

也许使用atom_codes(?Atom, ?String)number_chars(?Number, ?CharList)会这样做。