【问题标题】:Prolog: how to convert string to integer?Prolog:如何将字符串转换为整数?
【发布时间】:2011-07-21 20:01:16
【问题描述】:

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

convert(String,Integer).

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

我正在使用swi prolog

【问题讨论】:

标签: string integer prolog


【解决方案1】:

使用 atom_number/2。 例如:

  atom_number('123', X).
  X = 123.

【讨论】:

  • 严格来说,这是一个原子,而不是一个字符串。
【解决方案2】:

假设您的真正意思是字符串而不是原子,请使用number_codes

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

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

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

【讨论】:

    【解决方案3】:

    也许使用atom_codes(?Atom, ?String)number_chars(?Number, ?CharList) 就可以了。

    【讨论】:

      【解决方案4】:

      相当古老,但在 SWI Prolog 中有一个谓词:number_string(N, S).

      Docs

      number_string(123, S).
      S = "123".
      

      对于那些仍在寻找它的人。

      【讨论】:

        【解决方案5】:

        在 Visual Prolog 中转换:

        X=toTerm(real,H).
        

        实数/整数/无符号...

        【讨论】:

          猜你喜欢
          • 2010-10-13
          • 1970-01-01
          • 1970-01-01
          • 2022-01-09
          • 1970-01-01
          相关资源
          最近更新 更多