class Mytextlist extends StatelessWidget {
final Function adddata;
Mytextlist(this.adddata);
TextEditingController titleController = TextEditingController();
TextEditingController valueController = TextEditingController();
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
border: Border.all(
color: Colors.black,
)),
child: Column(
children: [
Card(
child: Column(children: <Widget>[
TextField(
decoration: const InputDecoration(
labelText: "title",
),
controller: titleController,
),
])),
Card(
child: Column(children: <Widget>[
TextField(
decoration: const InputDecoration(labelText: "expenses"),
controller: valueController,
),
])),
ElevatedButton(
onPressed: adddata(
titleController.text,
double.parse(
(valueController.text),
)),
child: const Text("ADD Transaction")),
],
));}}
//在这里,我想传递在Textfield中输入的值,我的函数添加了将在按下按钮时调用的数据,该按钮接受字符串和双值,titlecontroller.text将值转换为string,但double.parse没有将数据转换为double,应用程序正在抛出格式异常时的错误。
发布于 2022-11-08 04:12:21
我不知道你想解析什么值,但我假设你用的是逗号而不是点
14,54 -无效格式
但
14.54 -有效格式
解析前只需用逗点替换逗号即可。
发布于 2022-11-08 06:34:50
请提供您正在传递的价值的详细信息。如果您用逗号传递它,则必须先删除这些逗号,然后才能将其传递给double。
ElevatedButton(
onPressed: (){
// Assume your valueController.text = 11,000
var inputValue = valueController.text.replace(",", "");
adddata(titleController.text, double.parse(inputValue)),
}
child: const Text("ADD Transaction")
),https://stackoverflow.com/questions/74355423
复制相似问题