这是一个货币转换器应用程序。为什么我不能划分它?

This is a currency converter app . Why cant i divide it?

提问人:Mumum 提问时间:8/20/2023 更新时间:8/20/2023 访问量:39

问:

我试图在 Flutter 中将一个数字除以 23

我希望直接取回一个号码,但我收到了这个错误

运算符“/”未为类型“String”定义。
尝试定义运算符“/”。

我的代码是:

  print(textEditingController.text/23);
Flutter 错误处理 部门

评论

0赞 John Gordon 8/20/2023
我怀疑这个值实际上是文本。不能将文本除以数字。.text

答:

4赞 Victor Eronmosele 8/20/2023 #1

的类型是 String,而 String 没有除法运算textEditingController.text

解决方案是在执行除法操作之前将 String 转换为数字,如下所示:textEditingController.text

 final textAsNumber = num.tryParse(textEditingController.text) ?? 0;
  
 print(textAsNumber/23);

上面的第一行代码意味着我们尝试解析文本(并设置为类型,如果无法将文本解析为(从而返回),我们将其设置为。textAsNumbernumnumnulltextAsNumber0

1赞 Danendra 8/20/2023 #2

这是因为您将其解析为文本,而不是数字变量,请尝试将其更改为

print(double.parse(textEditingController.text)/23);