Flutter изменение значения с плавающей точкой
День добрый
В моем приложении товар добавляется по десятичному числу, то есть 0.1
Увеличить или уменьшить через кнопки, я сделал все ок
Но когда пользователь вручную вводит число, кнопки перестают его изменять!!
Как это можно решить?
как перевести полученные данные из TextFild в double записать их в переменную value что бы можно было изменять значение как с помощью кнопок, так и с помощью ручного ввода
<pre>
@override
State<Couner> createState() => _CounerState();
}
class _CounerState extends State<Couner> {
late dynamic value = 0.5;
var hintText = 0.5;
double useNamber = 0.0;
void add() {
setState(() {
if (value <= widget.item) {
value = value + 0.1;
}
});
}
void remove() {
setState(() {
if (value > 0.5) {
value = value - 0.1;
}
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
ElevatedButton(
onPressed: add,
child: const Icon(Icons.add),
),
Expanded(
child: TextField(
textAlign: TextAlign.center,
keyboardType: TextInputType.number,
onSubmitted: (useNamber) {
setState(() {
value = double.parse(useNamber);
});
},
decoration: InputDecoration(
hintText: '${value.toStringAsFixed(1)}',
),
),
),
ElevatedButton(
onPressed: remove,
child: const Icon(Icons.remove),
),
],
),
),
Expanded(
child: Text('${value.toStringAsFixed(1)}'),
),
],
);
}
}
</pre>