问题描述
所以我想构建一个滑块,用户可以在其中选择 100-1000 之间的值,该值应该是这样的 100,150,200,250... 950,1000 但我注意到我得到了像 499.9999994 或 500.000001 这样的值。知道我该如何解决这个问题吗?
Row(
mainAxisAlignment: MainAxisAlignment.center,children: [
Text('100'),CupertinoSlider(
value: context.watch<LoanValue>().value,min: 100,max: 1000,divisions: 18,onChanged: (double value) {
context.read<LoanValue>().updateValue(value);
},),Text('1000'),],
这是我更新值的地方:
class LoanValue with ChangeNotifier,DiagnosticableTreeMixin {
double loanValue = 100;
double get value => loanValue;
void updateValue(double division) {
loanValue = division;
// debugPrint('loanValue: $loanValue');
notifyListeners();
}
}
解决方法
我通过添加此 .roundToDouble()
void updateValue(double division) {
loanValue = division.roundToDouble();
// debugPrint('loanValue: $loanValue');
notifyListeners();
}