当前位置: 首页 > 知识库问答 >
问题:

如何使用Flutter检查和检索空双值

司徒俊雄
2023-03-14

我正在使用Flatter desktop项目,我想检索一些双值,但当继续将某些字段作为空字段并尝试检索数据时,我遇到了一个错误,无法填充所有文本字段。如何将这些TextField检查为空字段并检索空值。

错误:-════════ 用手势捕捉异常═══════════════════════════════════════════ 处理手势时引发以下FormatException:无效的double

抛出异常时,这是堆栈#0double.parse(dart: core-patch/double_patch.dart:111: 28)#1_HomePageState.build.。包:urban_laundry/page/home_page.dart:992#2 State.set状态包:flutter/.../小部件/framework.dart:1088#3_HomePageState.build.包:urban_laundry/页面/home_page.dart:975#4_InkResponseState_handleTap包:flutter/.../材质/ink_well.dart:989#5 GestureRecognizer.invoke回调包:flutter/.../手势/recognizer.dart:193#6TapGestureRecognizer.handleTapUp软件包:flutter/.../手势/tap.dart:608#7 BaseTapGesture认可器。_checkUp软件包:flutter/.../手势/tap.dart:296#8 BaseTapGestureRecognizer.handlePrimaryPointer软件包:flutter/.../手势/tap.dart:230#9 PrimaryPointerGestureRecognizer.handle事件包:flutter/.../手势/recognizer.dart:558#10指针路由器。_dispatch包:flutter/.../手势/pointer_router.dart:94#11指针路由器。_dispatchEventToRoutes包:flutter/.../手势/pointer_router.dart:139#12_LinkedHashMapMixin。.../手势/pointer_router. dart: 137#14 PointerRouter.路由包: flutter/.../手势/pointer_router. dart: 123#15 GestureBinding. handle活动包: flutter/.../手势/binding. dart: 440#16 GestureBinding.调度事件包: flutter/.../手势/binding. dart: 420#17 RendererBinding.调度事件包: flutter/.../渲染/binding. dart: 278

代码:-

  final price1 = TextEditingController();
  final price2 = TextEditingController();
  final price3 = TextEditingController();

  final deliveryCharge = TextEditingController();

  double? p1;
  double? p2;
  double? p3;
  double? delivery;
  double total = 0.0;

  void priceTotal() {
    double p1 = double.parse(price1.text);
    double p2 = double.parse(price2.text);
    double p3 = double.parse(price3.text);

    double delivery = double.parse(deliveryCharge.text);

    print(total.toString());
    setState(() {
      total = (p1 + p2 + p3 + delivery);
    });
  }

文本字段:-

Padding(
  padding: const EdgeInsets.only(
      top: 10.0, left: 10.0),
  child: SizedBox(
    width: 200.0,
    child: TextField(
      controller: price3,
      decoration: const InputDecoration(
        border: OutlineInputBorder(
          borderRadius: BorderRadius.all(
              Radius.circular(10.0)),
        ),
        prefixIcon: Padding(
          padding: EdgeInsets.all(8.0),
          child: FaIcon(
            FontAwesomeIcons.rupeeSign,
            size: 20.0,
          ),
        ),
        hintText: 'Price',
      ),
    ),
  ),
),

新闻界:-

  onPressed: () {
    setState(() {
      delivery = double.parse(deliveryCharge.text);
      p1 = double.parse(price1.text);
      p2 = double.parse(price2.text);
      p3 = double.parse(price3.text);
      priceTotal();
    });
  },

共有1个答案

乌和畅
2023-03-14

如果数据为空,则可以将其替换为零。让我们试试看。

      delivery = double.parse(deliveryCharge.text??"0");
      p1 = double.parse(price1.text??"0");
      p2 = double.parse(price2.text??"0");
      p3 = double.parse(price3.text??"0");
 类似资料:
  • 我收到以下JSON作为响应 我正在解析这个JSON,如下所示 这很好用。 我的问题是,如果JSON中缺少任何一个键,例如“名称”丢失,它就会断裂,我将无法定义 是否可以检查是否存在,然后重试? https://jsfiddle.net/o2gxgz9r/9078/ 关于我修改了json的答案 但是他自己的财产不起作用了? 请看这把小提琴 https://jsfiddle.net/o2gxgz9r/

  • 下面的代码引发NullPointerException。即使有

  • 嗨,如何检查聚合查询中使用的索引和扫描对象的数量,类似于db.collection.find().explain()?

  • 问题内容: 我正在使用SQL Server,但没有足够的数据集来测试查询的性能。 我想分析查询,看看索引是否被利用。我该如何检查 问题答案: 在SQL Management Studio中,只需键入查询,然后按Control-L(显示查询执行计划)。在那里,您将能够查看是否正在使用任何索引。“表扫描”表示未使用索引。“索引扫描”是指使用索引。

  • 我定义了一个结构… 有时我给它分配一个空会话(因为不可能为零) 然后我想检查一下,如果它是空的: 显然这是行不通的。我怎么写?

  • 对于我的API,我解析一个对象,并用lombok构建器创建我的对象。其中一个变量是LocalDateTime类型的“arrivalTime”,当然,它可以是null。 我以前是这样的: 但我正在寻找一种更好的方法,也许使用vavr选项?但我遇到了麻烦。我明白,如果逻辑不是空的,我就把它放入“map”中,如果逻辑是空的,我就把逻辑放入“get”中。但我不能得到(空)。如果arrivalTime为nu