wxString CSizeFormatBase::FormatNumber(COptionsBase* pOptions, const wxLongLong& size, bool* thousands_separator /*=0*/) { if ((thousands_separator && !*thousands_separator) || pOptions->GetOptionVal(OPTION_SIZE_USETHOUSANDSEP) == 0) return size.ToString(); const wxString& sep = GetThousandsSeparator(); if (sep.empty()) return size.ToString(); wxString tmp = size.ToString(); const int len = tmp.Len(); if (len <= 3) return tmp; wxString result; int i = (len - 1) % 3 + 1; result = tmp.Left(i); while (i < len) { result += sep + tmp.Mid(i, 3); i += 3; } return result; }
std::wstring CSizeFormatBase::FormatNumber(COptionsBase* pOptions, int64_t size, bool* thousands_separator) { std::wstring sep; wchar_t const* sepBegin = 0; wchar_t const* sepEnd = 0; if ((!thousands_separator || *thousands_separator) && pOptions->GetOptionVal(OPTION_SIZE_USETHOUSANDSEP) != 0) { sep = GetThousandsSeparator(); if (!sep.empty()) { sepBegin = sep.c_str(); sepEnd = sepBegin + sep.size(); } } return ToString(size, sepBegin, sepEnd); }