Skip to content

Commit 6b22ead

Browse files
authored
fix: clear expression after calculation (#3)
1 parent 33537ae commit 6b22ead

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

lib/pages/MainPage.dart

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class _MainPageState extends State<MainPage> {
1818
String _history = '';
1919
String _expression = '';
2020
bool _isDecimalUsed = false;
21+
bool _isCalculated = false;
2122

2223
void onNumberClick(String number) {
2324
if (isAnOperator(number)) {
@@ -32,9 +33,16 @@ class _MainPageState extends State<MainPage> {
3233
});
3334
}
3435
if (!_isDecimalUsed || number != '.') {
35-
setState(() {
36-
_expression += number;
37-
});
36+
if (_isCalculated) {
37+
setState(() {
38+
_expression = number;
39+
_isCalculated = false;
40+
});
41+
} else {
42+
setState(() {
43+
_expression += number;
44+
});
45+
}
3846
}
3947
}
4048

@@ -96,6 +104,7 @@ class _MainPageState extends State<MainPage> {
96104
setState(() {
97105
_history = _expression;
98106
_expression = result;
107+
_isCalculated = true;
99108
});
100109
}
101110

0 commit comments

Comments
 (0)