我如何从 TextEditingController 中获取 int 数据

How can i get int data from TextEditingController in flutter

我想在 Flutter 中获取在 TextField() 中输入的 int 数据,我使用 TextEditingController:

TextEditingController _section_id = new TextEditingController();

并在其中使用此控制器:

TextField(controller: _section_id,
                keyboardType: TextInputType.number,)

但是现在,我怎样才能得到 int 数据呢? 我通过

尝试这种方式
Repository().placeAddApiProvider(_section_id.text)

但它只是字符串,并尝试转换为 int,

Repository().placeAddApiProvider(_section_id.text as int)

 but it is not work show me this error:
Unhandled Exception: type 'String' is not a subtype of type 'int' in type cast
E/flutter ( 6950): #0      AddPlaceState.build.<anonymous closure> (package:mosul/src/ui/users/add_place.dart:93:50)
E/flutter ( 6950): <asynchronous suspension>
E/flutter ( 6950): #1      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:513:14)
E/flutter ( 6950): #2      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:568:30)
E/flutter ( 6950): #3      GestureRecognizer.invokeCallback (package:flutter/src/gestu...

谢谢

您不能将 String 转换为 int,因为它们不是从同一父 class 继承的。您需要解析它。

Repository().placeAddApiProvider(int.parse(_section_id.text))

当我们想从 TextEditingController 中获取一个整数时,这样做,

 int var =int.parse(_section_id.text);

有时我们想使用 tryParse 来代替解析。 int qty=int.tryParse(qtyController.text);

在 TextField 中 onChanged

 onChanged: (s) {
  int s = int.parse(
   _section_id.text);
    },

解析你从文本字段[限制它只输入数字]到 Int 的字符串并使用 int.tryParse(String) 如果你不担心转换不成功或者你这样做的话使用 int.parse(字符串)