Flutter 如何将颤振滑块的双精度值转换为int
我正在为BMI计算器编写代码,我正在使用高度滑块,它返回一个双精度类型和一个长类型。我尝试了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
\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);效果很好。