summaryrefslogtreecommitdiff
path: root/core/string/ustring.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/string/ustring.cpp')
-rw-r--r--core/string/ustring.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/core/string/ustring.cpp b/core/string/ustring.cpp
index 671b06f0ed..c86c8316fe 100644
--- a/core/string/ustring.cpp
+++ b/core/string/ustring.cpp
@@ -1567,10 +1567,11 @@ String String::num_real(double p_num, bool p_trailing) {
#else
int decimals = 6;
#endif
- // We want to align the digits to the above sane default, so we only
- // need to subtract log10 for numbers with a positive power of ten.
- if (p_num > 10) {
- decimals -= (int)floor(log10(p_num));
+ // We want to align the digits to the above sane default, so we only need
+ // to subtract log10 for numbers with a positive power of ten magnitude.
+ double abs_num = Math::abs(p_num);
+ if (abs_num > 10) {
+ decimals -= (int)floor(log10(abs_num));
}
return num(p_num, decimals);
}
@@ -3674,7 +3675,7 @@ String String::simplify_path() const {
if (p > 0) {
bool only_chars = true;
for (int i = 0; i < p; i++) {
- if (!is_ascii_char(s[i])) {
+ if (!is_ascii_alphanumeric_char(s[i])) {
only_chars = false;
break;
}