fix: don't add sign if the float is negative (#345)
Fix #341
Signed-off-by: Frost Ming <me@frostming.com>
GitOrigin-RevId: bf01a25e26e5968c0fcb515f0513b9f88ab83e03
Change-Id: I979ce2b8eff5cd13ece491dc1606c1014d15b60a
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2778f2a..19eed13 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Change Log
+## [unreleased]
+
+### Fixed
+
+- Remove the extra minus sign added to the float value after calculation. ([#341](https://github.com/python-poetry/tomlkit/issues/341))
+
## [0.12.4] - 2024-02-27
### Fixed
diff --git a/tomlkit/items.py b/tomlkit/items.py
index c483eed..4caf559 100644
--- a/tomlkit/items.py
+++ b/tomlkit/items.py
@@ -714,9 +714,8 @@
def _new(self, result):
raw = str(result)
- if self._sign:
- sign = "+" if result >= 0 else "-"
- raw = sign + raw
+ if self._sign and result >= 0:
+ raw = f"+{raw}"
return Float(result, self._trivia, raw)