我正在创建一个有一个文本字段的flutter页面,用户应该在这个字段中输入一个数字,然后页面用我已经添加到代码中的另一个int来计算他的输入。
正如你在下面看到的那样,我做得很糟糕
第一次在屏幕下上课我做了
TextEditingController num1controller = TextEditingController();
int calculation = 10;
String result = '0';
然后我创建了一个文本字段
CustomTextField(
controller: num1controller,
showCancelIcon: true,
autocorrect: false,
enableSuggestions: false,
keyboardType: TextInputType.number,
decoration: InputDecoration(
labelText: 'Label Text',
hintText: 'Hint Text',
),
),
然后我用ElevatedButton 做了如下计算
ElevatedButton(
child: const Text('Calculate'),
onPressed: () {
setState(() {
int sum = int.parse(num1controller.text);
var sum1 = sum ~/ calculation;
result = sum1.toString();
});
},
),
然后我展示了如下结果:
Text('$result')
我的做法正确吗?还是应该以更好的方式来做?我怎样才能使结果接受小数点?目前的结果没有显示任何小数点?
通过在sum ~/ calculation
上添加~
来进行整数除法。使用CCD_ 3也更好。如果您想接受TextFiled中的double,请使用double sum
。
您可以在上使用toStringAsFixed(2)
来显示小数点编号,而不是.toString()
。
我更喜欢
setState(() {
double sum = double.tryParse(num1controller.text)??1;
final sum1 = sum / calculation;
result = sum1.toStringAsFixed(2);
});