Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Generic / String
diff options
context:
space:
mode:
Commit166ae83a89dbf7d0a5c95bd6b8e758b86bdedd7f (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-05-29 13:29:50 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-05-29 13:29:50 +0300
Files3c4d99a572781853c9798ac981c72ffefa1ab6dd /src/Generic/String
FMI-OOP-P2_Tables-166ae83a89dbf7d0a5c95bd6b8e758b86bdedd7f.tar
FMI-OOP-P2_Tables-166ae83a89dbf7d0a5c95bd6b8e758b86bdedd7f.tar.gz
FMI-OOP-P2_Tables-166ae83a89dbf7d0a5c95bd6b8e758b86bdedd7f.zip
Parent874caedf914eca536fb3106ff0800cb2f4fa78de (diff)
Autocommit at 29.05.2022 @ 13:29
2 files changed, 2 insertions, 6 deletions
-rw-r--r--src/Generic/String/String.cpp6
-rw-r--r--src/Generic/String/String.h2
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;