Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Models / CellDouble.cpp
diff options
context:
space:
mode:
Commit319a198203a37c10e774c9b7abcdfdfb86ac4bed (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-06-13 20:57:42 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-06-13 20:57:42 +0300
Files98d945dcd48f9b87886c20492ed9d6a1b43a89d0 /src/Models/CellDouble.cpp
FMI-OOP-P2_Tables-319a198203a37c10e774c9b7abcdfdfb86ac4bed.tar
FMI-OOP-P2_Tables-319a198203a37c10e774c9b7abcdfdfb86ac4bed.tar.gz
FMI-OOP-P2_Tables-319a198203a37c10e774c9b7abcdfdfb86ac4bed.zip
Parentc3443aa87a7519171340be6de21608bbe3b807a9 (diff)
Autocommit at 13.06.2022 @ 20:57
1 files changed, 9 insertions, 0 deletions
-rw-r--r--src/Models/CellDouble.cpp9
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 {