Flutter ';类型字符串不是double';
我已使用控制器将pg1中的金额作为字符串导入。部分文本(total.toString())给出了 字符串不是double的子类型时出错。如何解决此问题?欢迎使用SOF 你不是在解析,而是在施法!这将强制total返回Flutter ';类型字符串不是double';,flutter,dart,flutter-layout,flutter-dependencies,flutter-web,Flutter,Dart,Flutter Layout,Flutter Dependencies,Flutter Web,我已使用控制器将pg1中的金额作为字符串导入。部分文本(total.toString())给出了 字符串不是double的子类型时出错。如何解决此问题?欢迎使用SOF 你不是在解析,而是在施法!这将强制total返回字符串或null 替换 class Pg2 extends StatelessWidget { String amount; final a = TextEditingController(); Pg2(this.amount); double get total
字符串
或null
替换
class Pg2 extends StatelessWidget {
String amount;
final a = TextEditingController();
Pg2(this.amount);
double get total {
double amt = (amount as double);
double p = (a.text as double);
return (amt + (p / 100) * amt);
}
@override
Widget build(BuildContext context) {
void dialogbox() {
showDialog(
context: context,
builder: (context) => AlertDialog(
title: Text('You have to pay :'),
content: Container(
child: Text(total.toString()),
),
));
}
return Scaffold(
body: Column(
children: [
Text(amount.toString()),
TextField(
decoration:
InputDecoration(labelText: 'Percent tip you want to give'),
controller: a,
),
RaisedButton(
child: Text('Submit'),
onPressed: dialogbox,
)
],
),
);
}
}
与
欢迎来到SOF
你不是在解析,而是在施法!这将强制total返回字符串
或null
替换
class Pg2 extends StatelessWidget {
String amount;
final a = TextEditingController();
Pg2(this.amount);
double get total {
double amt = (amount as double);
double p = (a.text as double);
return (amt + (p / 100) * amt);
}
@override
Widget build(BuildContext context) {
void dialogbox() {
showDialog(
context: context,
builder: (context) => AlertDialog(
title: Text('You have to pay :'),
content: Container(
child: Text(total.toString()),
),
));
}
return Scaffold(
body: Column(
children: [
Text(amount.toString()),
TextField(
decoration:
InputDecoration(labelText: 'Percent tip you want to give'),
controller: a,
),
RaisedButton(
child: Text('Submit'),
onPressed: dialogbox,
)
],
),
);
}
}
与
谢谢回复!你能告诉我解析和强制转换之间的区别吗?强制转换是类型转换,它们是兼容的,例如,将一个框强制转换为一个对象。但解析是读取字符串并将其值计算为数字。感谢您的回复!你能告诉我解析和强制转换之间的区别吗?强制转换是类型转换,它们是兼容的,例如,将一个框强制转换为一个对象。但解析是读取字符串并将其值计算为数字。
double get total {
double amt = double.parse(amount);
double p = double.parse(a.text);
return (amt + (p / 100) * amt);
}