String 序言:如何将字符串转换为整数?

String 序言:如何将字符串转换为整数?,string,integer,prolog,String,Integer,Prolog,正如标题所说,如何将字符串转换为整数? 这个想法是这样的: convert(String,Integer). examples: convert('1',1). convert('33',33). 我正在使用swi prolog也许使用atom\u代码(?atom,?String)和number\u字符(?number,?CharList)就可以了。使用atom\u数字/2。 例如: 假设您真正指的是字符串而不是原子,请使用number\u code ?- number_codes(11,

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

convert(String,Integer).

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

我正在使用
swi prolog
也许使用
atom\u代码(?atom,?String)
number\u字符(?number,?CharList)
就可以了。

使用atom\u数字/2。 例如:


假设您真正指的是字符串而不是原子,请使用
number\u code

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

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

?- number_codes(N, "11").
N = 11.

在Visual Prolog转换中:

X=toTerm(real,H).

实数/整数/无符号…

相当古老,但SWI Prolog中有一个谓词:
number\u字符串(N,S)。


对于那些仍在寻找的人。

可能重复的@Ted Hopp:不是重复的,另一个问题有DCGs的特定上下文。这可以更容易地做到。OP必须决定是给出一个字符串还是一个原子。严格来说,这是一个原子,而不是字符串。
X=toTerm(real,H).
number_string(123, S).
S = "123".