From 319a198203a37c10e774c9b7abcdfdfb86ac4bed Mon Sep 17 00:00:00 2001 From: Syndamia Date: Mon, 13 Jun 2022 20:57:42 +0300 Subject: Autocommit at 13.06.2022 @ 20:57 --- src/Models/CellDouble.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/Models/CellDouble.cpp') diff --git a/src/Models/CellDouble.cpp b/src/Models/CellDouble.cpp index 0ec3b3f..e19be3b 100644 --- a/src/Models/CellDouble.cpp +++ b/src/Models/CellDouble.cpp @@ -7,7 +7,16 @@ CellDouble::CellDouble(double value) { CellDouble::CellDouble(const char* str) { value = 0; + bool negative = *str == '-'; + if (*str == '-' || *str == '+') str++; + while (*str != '.') + value = value * 10 + '0' - *(str++); + str++; + for (unsigned div = 10; *str != '\0'; div *= 10) + value += (double)('0' - *(str++)) / div; + + if (negative) value *= -1; } double CellDouble::getNumeralValue() const { -- cgit v1.3.1-23-gd82d