Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1842)

Unified Diff: base/string_util.h

Issue 11002: Make unit_tests pass with pt_BR.UTF-8 locale. (Closed)
Patch Set: all platforms Created 12 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/json_writer.cc ('k') | base/string_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/string_util.h
diff --git a/base/string_util.h b/base/string_util.h
index d62e9b0a9b4b0bc2376cb63749b8f2ba184ce6c0..0a79c6f50cbe07ef3f77864d8a1db620c413a329 100644
--- a/base/string_util.h
+++ b/base/string_util.h
@@ -95,6 +95,23 @@ size_t wcslcpy(wchar_t* dst, const wchar_t* src, size_t dst_size);
// This function is intended to be called from base::vswprintf.
bool IsWprintfFormatPortable(const wchar_t* format);
+enum LocaleDependence {
+ LOCALE_DEPENDENT,
+ LOCALE_INDEPENDENT
+};
+
+std::string DoubleToString(double value, LocaleDependence locale_dependent);
+std::wstring DoubleToWString(double value, LocaleDependence locale_dependent);
+
+bool StringToDouble(const std::string& input, double* output,
+ LocaleDependence locale_dependent);
+bool StringToDouble(const std::wstring& input, double* output,
+ LocaleDependence locale_dependent);
+double StringToDouble(const std::string& value,
+ LocaleDependence locale_dependent);
+double StringToDouble(const std::wstring& value,
+ LocaleDependence locale_dependent);
+
} // namespace base
#if defined(OS_WIN)
@@ -354,6 +371,7 @@ std::wstring Int64ToWString(int64 value);
std::string Uint64ToString(uint64 value);
std::wstring Uint64ToWString(uint64 value);
+
// Perform a best-effort conversion of the input string to a numeric type,
// setting |*output| to the result of the conversion. Returns true for
// "perfect" conversions; returns false in the following cases:
@@ -376,6 +394,8 @@ bool HexStringToInt(const std::wstring& input, int* output);
// numbers in hexadecimal, and strings representing non-fininte values (such
// as NaN and inf) is undefined. Otherwise, these behave the same as the
// integral variants above.
+//
+// By default, locale-dependent variant is used.
bool StringToDouble(const std::string& input, double* output);
bool StringToDouble(const std::wstring& input, double* output);
@@ -388,6 +408,7 @@ int64 StringToInt64(const std::string& value);
int64 StringToInt64(const std::wstring& value);
int HexStringToInt(const std::string& value);
int HexStringToInt(const std::wstring& value);
+// By default, locale-dependent variant is used.
double StringToDouble(const std::string& value);
double StringToDouble(const std::wstring& value);
« no previous file with comments | « base/json_writer.cc ('k') | base/string_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698