如何使用Dart将数字单词转换为int(例如3到3)

时间:2019-07-04 08:48:26

标签: dart

我想使用Dart将数字单词(如1、2、3等)转换为int(如1、2、3等)

3 个答案:

答案 0 :(得分:0)

您必须依靠机器学习库或将每个字符串与相应的数字配对。

int convertStrToNum(String str) {
 var number = <String, num>{'one': 1, ...};
 return number[str];
}

答案 1 :(得分:0)

int convStrToInt(String str) {
    var list = [
        'zero', 
        'one', 
        'two', 
        'three', 
        'four',
        'five',
        'six',
        'seven',
        'eight',
        'nine',
        'ten',
    ];
    return list.indexOf(str);
}

答案 2 :(得分:-1)

当然,机器学习可能是最快,最好的方法,但是我不能真正帮助您。因此,这是一个假设“数字字”遵循某种格式(直到10)的实现。您可以实现Regexp将其扩展到999,这将使您真正棘手:

int convStrToNum(String str) {
    var oneten = <String, num> {
        'one': 1, 
        'two': 2, 
        'three': 3, 
        'four': 4,
        'five': 5,
        'six': 6,
        'seven': 7,
        'eight': 8,
        'nine': 9,
        'ten': 10,
    }
    if (oneten.keys.contains(str)) {
        return oneten[str];
    }
}