DLang整数字符串的互相转换-创新互联
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 整数字符串的互相转换
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:DLang整数字符串的互相转换-创新互联
标题路径:http://azwzsj.com/article/dopihp.html