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