Skip to content

Commit 48ce0db

Browse files
fix float numbers
1 parent dd7d53a commit 48ce0db

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

cads_broker/expressions/RulesParser.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ def parse_number(self):
6060
if self.peek(True) == ".":
6161
s += self.next()
6262
c = self.next()
63-
if not str.isdigit(self, c):
63+
if not str.isdigit(c):
6464
raise ParserError(
6565
"parseNumber invalid '{c}'",
6666
self.line + 1,
6767
)
6868

6969
s += c
70-
while str.isdigit(self, self.peek(True)):
70+
while str.isdigit(self.peek(True)):
7171
s += self.next()
7272

7373
c = self.peek(True)
@@ -79,14 +79,14 @@ def parse_number(self):
7979
s += c
8080
c = self.next()
8181

82-
if not str.isdigit(self, c):
82+
if not str.isdigit(c):
8383
raise ParserError(
8484
f"parseNumber invalid '{c}'",
8585
self.line + 1,
8686
)
8787

8888
s += c
89-
while str.isdigit(self, self.peek()):
89+
while str.isdigit(self.peek()):
9090
s += self.next()
9191

9292
try:

tests/test_01_expressions.py

+2
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ def test_expression():
5050
assert evaluate("2 + 3 * 5") == 17.0
5151
assert evaluate("(2+3) * 5") == 25.0
5252
assert evaluate("(2 + 3) * -5") == -25.0
53+
assert evaluate("1.0") == 1.0
54+
assert evaluate("1.5 * 0.1") == 1.5 * 0.1
5355

5456
assert evaluate("1 > 2") is False
5557
assert evaluate("3 > 3") is False

0 commit comments

Comments
 (0)