Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何将颤振滑块的双精度值转换为int_Flutter_Dart_Flutter Layout_Flutter Test - Fatal编程技术网

Flutter 如何将颤振滑块的双精度值转换为int

Flutter 如何将颤振滑块的双精度值转换为int,flutter,dart,flutter-layout,flutter-test,Flutter,Dart,Flutter Layout,Flutter Test,我正在为BMI计算器编写代码,我正在使用高度滑块,它返回一个双精度类型和一个长类型。我尝试了\u startHeight.toInt(),但没有成功。有没有办法不用除法来显示标签 这是我的滑码 Slider( value: _startHeight, min: 1, max: 100, onChanged: (newHeig

我正在为BMI计算器编写代码,我正在使用高度滑块,它返回一个双精度类型和一个长类型。我尝试了
\u startHeight.toInt()
,但没有成功。有没有办法不用除法来显示标签

这是我的滑码

               Slider(
                  value: _startHeight,
                  min: 1,
                  max: 100,
                  onChanged: (newHeight) {
                    setState(() {
                      _startHeight = newHeight;
                      _startHeight.toInt();
                      print(_startHeight);
                    });
                  },
                ),

谢谢。

如果您想将
\u startHeight
定义为
int
,那么我假设您首先将其定义为
int

您正在尝试将一个
double
分配给
int
,然后将此
double
更改为
int
。您需要以另一种方式进行:

onChanged: (double newHeight) {
  setState(() {
    _startHeight = newHeight.toInt();
    print(_startHeight);
  });
}
如果您的最终目标是在不带小数的字符串中显示值,则可以使用
toStringAsFixed


\u启动正确的toStringAsFixed(0)

它将不起作用
\u startHeight
是double,
toInt()
将新高度(double)转换为int,并且类型为
int
的值不能分配给类型为
double
的变量。在这种情况下,需要将
\u startHeight
定义为
int
。然后,我在回答中提供的代码应该可以工作:)slider中的
value
属性接受
double
类型。查看文档为什么要将其更改为
int
?非常感谢\u startHeight.toStringAsFixed(0);效果很好。