diff options
1 files changed, 18 insertions, 0 deletions
| -rw-r--r-- | src/Generic/String/String.cpp | 18 |
diff --git a/src/Generic/String/String.cpp b/src/Generic/String/String.cpp index 66e9ad4..d37e9b7 100644 --- a/src/Generic/String/String.cpp +++ b/src/Generic/String/String.cpp @@ -77,6 +77,24 @@ String& String::operator+=(unsigned number) { return *this; } +/*! + * 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; +} + String::String() : String("") {} String::String(const String& other) { |
