diff options
| Commit | 166ae83a89dbf7d0a5c95bd6b8e758b86bdedd7f (patch) | |
|---|---|---|
| Author | 2022-05-29 13:29:50 +0300 | |
| Committer | 2022-05-29 13:29:50 +0300 | |
| Files | 3c4d99a572781853c9798ac981c72ffefa1ab6dd /src | |
| FMI-OOP-P2_Tables-166ae83a89dbf7d0a5c95bd6b8e758b86bdedd7f.tar FMI-OOP-P2_Tables-166ae83a89dbf7d0a5c95bd6b8e758b86bdedd7f.tar.gz FMI-OOP-P2_Tables-166ae83a89dbf7d0a5c95bd6b8e758b86bdedd7f.zip | ||
| Parent | 874caedf914eca536fb3106ff0800cb2f4fa78de (diff) | |
Autocommit at 29.05.2022 @ 13:29
3 files changed, 3 insertions, 7 deletions
| -rw-r--r-- | src/Generic/String/String.cpp | 6 | ||||
| -rw-r--r-- | src/Generic/String/String.h | 2 | ||||
| -rw-r--r-- | src/main.cpp | 2 |
diff --git a/src/Generic/String/String.cpp b/src/Generic/String/String.cpp index 20f01fe..5bc17b4 100644 --- a/src/Generic/String/String.cpp +++ b/src/Generic/String/String.cpp @@ -96,11 +96,7 @@ String& String::operator+=(double number) { *this += "-"; number *= -1; } - const double FRAC_PREC = 1.0 / DOUBLE_PRECISION; - number += FRAC_PREC * 0.1; // bump up the number, in cases it becomes something like 8.59999999999... - double decimal = number - (unsigned)number; - for (unsigned i = 10; i < DOUBLE_PRECISION && (decimal - (unsigned)decimal) > 1.0 / DOUBLE_PRECISION; i += 10) - decimal *= 10; + number += 1.0 / (DOUBLE_PRECISION * 10); // bump up the number, in cases it becomes something like 8.59999999999... return ((*this += (unsigned)number) += ".") += (unsigned)((number - (unsigned)number) * DOUBLE_PRECISION); } diff --git a/src/Generic/String/String.h b/src/Generic/String/String.h index ff4c9de..a0e0ad0 100644 --- a/src/Generic/String/String.h +++ b/src/Generic/String/String.h @@ -8,7 +8,7 @@ #include <istream> #include <ostream> -#define DOUBLE_PRECISION 1000000 +#define DOUBLE_PRECISION 100 class String { char* str; diff --git a/src/main.cpp b/src/main.cpp index 2814ef3..c5bbbae 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,7 +5,7 @@ int main() { table.putCell(0, 0, "8.6"); table.putCell(0, 1, "3"); table.putCell(0, 2, "String"); - table.putCell(0, 3, "= 3 * R0C1 + R0C0 ^ R0C1 * 9 - 10"); + table.putCell(0, 3, "= 3 * R0C1 + R0C0 ^ R0C1 * 9 - 10 + 1"); UserInterface ui(&table); ui.run(); } |
