Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Generic / String / String.cpp
diff options
context:
space:
mode:
Commit83a4f8032fbdad2ea35ef101dfb14433f672b6d9 (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-05-29 13:04:41 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-05-29 13:04:41 +0300
Filesf8858bef657e9d9006db986ed38a385ef601ac39 /src/Generic/String/String.cpp
FMI-OOP-P2_Tables-83a4f8032fbdad2ea35ef101dfb14433f672b6d9.tar
FMI-OOP-P2_Tables-83a4f8032fbdad2ea35ef101dfb14433f672b6d9.tar.gz
FMI-OOP-P2_Tables-83a4f8032fbdad2ea35ef101dfb14433f672b6d9.zip
Parentf788177bd2b63ea92872ce49bee5d9975227ccad (diff)
Autocommit at 29.05.2022 @ 13:04
1 files changed, 2 insertions, 12 deletions
-rw-r--r--src/Generic/String/String.cpp14
diff --git a/src/Generic/String/String.cpp b/src/Generic/String/String.cpp
index d37e9b7..d9cc235 100644
--- a/src/Generic/String/String.cpp
+++ b/src/Generic/String/String.cpp
@@ -81,18 +81,8 @@ String& String::operator+=(unsigned number) {
* Converts the number to a C-style string and then uses += to append it.
*/
String& String::operator+=(double number) {
- unsigned tempLen = 0;
- for (unsigned tmp = number; tmp > 0 || tempLen == 0; tmp /= 10)
- tempLen++;
-
- char* tmp = new char[tempLen + 1];
- tmp[tempLen] = '\0';
- for (unsigned i = tempLen - 1; i < tempLen; i--, number /= 10)
- tmp[i] = number % 10 + '0';
-
- *this += tmp;
- delete[] tmp;
- return *this;
+ if (number < 0) *this += "-";
+ return ((*this += (unsigned)number) += ".") += (unsigned)((number - (unsigned)number) * DOUBLE_PRECISION);
}
String::String() : String("") {}