我在做计算器
对于计算器,我想要4,321到4,321 =〉在3个数字之后,它必须把","这是文本形式的字段部分,我认为它的bether跳过这部分到代码中的therd部分(转到//////////部分)
Container(
alignment: Alignment.centerRight,
child: TextFormField(
textAlign: TextAlign.end,
readOnly: true,
cursorColor: Colors.grey[700],
controller: controller,
keyboardType: TextInputType.none,
decoration: const InputDecoration(
hintText: '0',
hintStyle: TextStyle(color: Colors.white, fontSize: 45),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
width: 0,
color: Colors.transparent,
),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(
width: 0,
color: Colors.transparent,
),
),
),
style: const TextStyle(color: Colors.white, fontSize: 43),
),
),
我上课是为了拍电梯按钮:
class ElebatedButtonMaker extends StatelessWidget {
ElebatedButtonMaker({
Key? key,
required this.color,
required this.height,
required this.width,
this.widget,
required this.text,
this.onPressed,
}) : super(key: key);
final String text;
final Color color;
final double width;
final double height;
void Function()? onPressed;
Widget? widget;
@override
Widget build(BuildContext context) {
return ElevatedButton(
onPressed: onPressed ?? () {},
style: ElevatedButton.styleFrom(
backgroundColor: color,
elevation: 0,
fixedSize: Size(MediaQuery.of(context).size.width * width,
MediaQuery.of(context).size.width * height)),
child: text.isNotEmpty
? Text(
text,
style: const TextStyle(
fontSize: 25,
),
)
: widget);
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class Passclass {
const Passclass({
this.pakonebord,
this.resetbord,
this.textstring,
this.textdouble,
required this.controller,
});
final bool? resetbord;
final bool? pakonebord;
final String? textstring;
final TextEditingController controller;
final int? textdouble;
final String alamat = ',';
passer() {
if (textdouble != null) {
if (textdouble == 0) {
return controller.text = '0';
}
return controller.text = controller.text + textdouble.toString();
}
if (!(controller.text.contains('.'))) {
return controller.text = controller.text + textstring!;
}
if (controller.text.length > 3) {
return controller.text = controller.text.substring(0, 1) +
alamat +
controller.text.substring(1);
}
// *********BUG*************** this if must to do take 3 numbelrs and put ',' inside them
}
reset() {
if (resetbord == true) {
return controller.text = '0';
}
}
pakon() {
if (controller.text.isNotEmpty) {
if (pakonebord == true) {
return controller.text =
controller.text.substring(0, controller.text.length - 1);
}
}
}
}
我没有任何错误,但它没有做所有的如果的是做得很好,但这一个我不知道请帮助我
我尝试了很多机器人我没有成功我做了smplis它为我自己做:
void main() {
String text = '4321';
if (text.length > 3) {
print('${text.substring(0, 1)},${text.substring(1)}');
}
}
我确实工作得很好,但在这个项目中,我不知道它的主要问题是什么
1条答案
按热度按时间hjqgdpho1#
您可以使用intl package代替所有这些代码来完成此操作: