別の文字列を整数DLang

D変換言語タイプは、限りの標準ライブラリの導入として、非常に便利であるstd.convパケットタイプを変換することができます。

ルックは、整数の例文字列の文字列型をint型に変換しました:

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

void main()
{
    int i = 123;

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

ルックは、整数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の整数文字列

おすすめ

転載: blog.51cto.com/197654/2452658