import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'calcluate',
theme: ThemeData(primarySwatch: Colors.blue),
home: const SumPage(),
);
}
}
class SumPage extends StatefulWidget {
const SumPage({super.key});
@override
State<SumPage> createState() => _SumPageState();
}
class _SumPageState extends State<SumPage> {
final TextEditingController _num1Controller = TextEditingController();
final TextEditingController _num2Controller = TextEditingController();
final TextEditingController _sumController = TextEditingController();
void _calculateSum() {
final String num1Text = _num1Controller.text.trim();
final String num2Text = _num2Controller.text.trim();
if (num1Text.isEmpty || num2Text.isEmpty) {
_sumController.text = "Enter numbers";
return;
}
final double? num1 = double.tryParse(num1Text);
final double? num2 = double.tryParse(num2Text);
if (num1 == null || num2 == null) {
_sumController.text = "Invalid input";
return;
}
final double sum = num1 + num2;
_sumController.text = sum.toString();
}
void _calculateSub() {
final String num1Text = _num1Controller.text.trim();
final String num2Text = _num2Controller.text.trim();
if (num1Text.isEmpty || num2Text.isEmpty) {
_sumController.text = "Enter numbers";
return;
}
final double? num1 = double.tryParse(num1Text);
final double? num2 = double.tryParse(num2Text);
if (num1 == null || num2 == null) {
_sumController.text = "Invalid input";
return;
}
final double sum = num1 - num2;
_sumController.text = sum.toString();
}
void _calculateMul() {
final String num1Text = _num1Controller.text.trim();
final String num2Text = _num2Controller.text.trim();
if (num1Text.isEmpty || num2Text.isEmpty) {
_sumController.text = "Enter numbers";
return;
}
final double? num1 = double.tryParse(num1Text);
final double? num2 = double.tryParse(num2Text);
if (num1 == null || num2 == null) {
_sumController.text = "Invalid input";
return;
}
final double sum = num1 * num2;
_sumController.text = sum.toString();
}
void _calculateDiv() {
final String num1Text = _num1Controller.text.trim();
final String num2Text = _num2Controller.text.trim();
if (num1Text.isEmpty || num2Text.isEmpty) {
_sumController.text = "Enter numbers";
return;
}
final double? num1 = double.tryParse(num1Text);
final double? num2 = double.tryParse(num2Text);
if (num1 == null || num2 == null) {
_sumController.text = "Invalid input";
return;
}
final double sum = num1 / num2;
_sumController.text = sum.toString();
}
void _calculatepercentage() {
final String num1Text = _num1Controller.text.trim();
final String num2Text = _num2Controller.text.trim();
if (num1Text.isEmpty || num2Text.isEmpty) {
_sumController.text = "Enter numbers";
return;
}
final double? num1 = double.tryParse(num1Text);
final double? num2 = double.tryParse(num2Text);
if (num1 == null || num2 == null) {
_sumController.text = "Invalid input";
return;
}
final double sum = num1 % num2;
_sumController.text = sum.toString();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("Subtract of Two Numbers")),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
TextField(
controller: _num1Controller,
keyboardType: TextInputType.number,
decoration: const InputDecoration(
labelText: "Enter first number",
border: OutlineInputBorder(),
),
),
const SizedBox(height: 12),
TextField(
controller: _num2Controller,
keyboardType: TextInputType.number,
decoration: const InputDecoration(
labelText: "Enter second number",
border: OutlineInputBorder(),
),
),
const SizedBox(height: 12),
ElevatedButton(
onPressed: _calculateSum,
child: const Text("+"),
), const SizedBox(height: 12),
ElevatedButton(
onPressed: _calculateSub,
child: const Text("-"),
), const SizedBox(height: 12),
ElevatedButton(
onPressed: _calculateMul,
child: const Text("*"),
), const SizedBox(height: 12),
ElevatedButton(
onPressed: _calculateDiv,
child: const Text("/"),
),
ElevatedButton(
onPressed: _calculatepercentage,
child: const Text("%"),
),
const SizedBox(height: 12),
TextField(
controller: _sumController,
readOnly: true,
decoration: const InputDecoration(
border: OutlineInputBorder(),
),
),
],
),
),
);
}
}
create calculator in flutter, four button with operator and calculate according to sign
August 30, 2025 in Flutter Programming