Cupertino Slider 显示值 499.99 而不是 500

问题描述

所以我想构建一个滑块,用户可以在其中选择 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();
  }
}

My app page

解决方法

我通过添加此 .roundToDouble()

解决了这个问题
  void updateValue(double division) {
    loanValue = division.roundToDouble();
    // debugPrint('loanValue: $loanValue');
    notifyListeners();
  }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...