首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Visual 8中转换值类型?

如何在Visual 8中转换值类型?
EN

Stack Overflow用户
提问于 2018-02-19 05:36:22
回答 1查看 550关注 0票数 1

我需要转换字符串到ACII添加1和转换回来。

代码语言:javascript
复制
Next_letter = convert(char, convert(integer, Letter) + 1)

但错误:

main.pro(19,48)错误c504 :表达式的类型为‘main::字母’,这与类型‘::整型’不兼容

全员课程:

代码语言:javascript
复制
   /* программа prog2_8.pro */
/* генерации ряда букв а…d в столбик в порядке возрастания */

implement main
    open core, console

domains
    letter = string.

class predicates
    write_letter : (letter).
clauses
    write_letter("e").

    write_letter(Letter) :-
        Letter < "e",
        write("   ", Letter),
        nl,
        Next_letter = convert(char, convert(integer, Letter) + 1),
        write_letter(Next_letter).

    run() :-
        write("letters:"),
        nl,
        write_letter("a"),
        fail().

    run() :-
        nl,
        write("Press Enter"),
        _ = readchar(),
        succeed().

end implement main

goal
    console::runUtf8(main::run).
EN

回答 1

Stack Overflow用户

发布于 2018-02-19 08:26:50

使用char_int/2尝试以下操作

代码语言:javascript
复制
char_int(Letter, IntLetter),        % Letter = 'a' -> IntLetter = 97
NextIntLetter = IntLetter + 1,      % NextIntLetter = 98
char_int(NextLetter, NextIntLetter) % NextLetter = 'b'

在这里NextLetter应该是你所需要的

来自要人文件

char_int(CHAR CharArg,整数IntArg) 流型 (i,o),(o,i),(i,i) 字符与其ASCII值之间的转换 备注 (i,o)将IntArg绑定到CharArg的ASCII代码。 (o,i)将CharArg绑定到具有IntArg指定的ASCII代码的字符(注意,它只考虑整数值的较低字节)。 (i,i)如果IntArg绑定到CharArg的ASCII代码,则成功;如果不是,则失败。 失败 见(i,i)的评论。 误差 没有错误。 示例 若要测试此示例,请使用中的“Project.TestGoals”。 目标: char_int('a',X) X=97 1解决方案目标: char_int(X,97) X=a 1解决方案目标: char_int('a',97)是目标: char_int('a',197)

编辑

您的问题是,string不能在其ASCII值中转换,因为它是一组字符。您必须将letter = string替换为letter = char" (围绕您的角色)替换为'

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48860057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档