温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

DLang 整数字符串的互相转换

发布时间:2020-03-01 17:40:16 来源:网络 阅读:295 作者:冰力 栏目:开发技术

D 语言类型转换很方便,只要引入标准库的 std.conv 包就可以将各种类型进行转换。

先看整数 int 类型转成 string 字符串类型的例子:

import std.conv : to;
improt std.stdio : writeln;

void main()
{
    int i = 123;

    string s = i.to!string;
    writeln(s); // 这时候 s 就是字符串 "123"
}

再来看字符串 string 类型转换成整数 int 类型的例子:

import std.conv : to;
improt std.stdio : writeln;

void main()
{
    string s = "123";

    int i = s.to!int;
    writeln(i); // 这时候 i 就是整数 123

    i++;
    writeln(i); // 这时候 i 自然加一后成了 124
}

但是这时候有个问题要注意,如果字符串 s 并不是一个数字类型,那么这个转换就会爆出异常,这时候我们需要进行判定,如果是非数字类型的字符串就将值设置为 0

看看加了判断后的代码:

import std.conv : to;
improt std.stdio : writeln;
import std.string : isNumeric;

void main()
{
    string s1 = "123"; // 可以正常转换为 int
    string s2 = "asdf1234"; // 不可以正常转换为 int

    int a, b;

    if (isNumeric(s1))
    {
        a = s1.to!int;
    }
    else
    {
        a = 0;
    }

    if (isNumeric(s2))
    {
        b = s2.to!int;
    }
    else
    {
        b = 0;
    }

    writeln(a); // 这时候 a 就是整数 123
    writeln(b); // 这时候 b 输出的结果就是 0
}

原文:DLang 整数字符串的互相转换

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI