热门IT资讯网

DLang 整数字符串的互相转换

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,D 语言类型转换很方便,只要引入标准库的 std.conv 包就可以将各种类型进行转换。先看整数 int 类型转成 string 字符串类型的例子:import std.conv : to;impro

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 整数字符串的互相转换

0