2016-10-01 21:55:13 +08:00
|
|
|
//
|
|
|
|
// Copyright(c) 2015 Gabi Melman.
|
|
|
|
// Distributed under the MIT License (http://opensource.org/licenses/MIT)
|
|
|
|
//
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <iomanip>
|
|
|
|
#include <locale>
|
2018-03-09 21:26:33 +08:00
|
|
|
#include <sstream>
|
2016-10-01 21:55:13 +08:00
|
|
|
|
2018-03-09 21:26:33 +08:00
|
|
|
namespace utils {
|
2016-10-01 21:55:13 +08:00
|
|
|
|
2018-03-16 23:35:56 +08:00
|
|
|
template<typename T>
|
|
|
|
inline std::string format(const T &value)
|
2016-10-01 21:55:13 +08:00
|
|
|
{
|
|
|
|
static std::locale loc("");
|
|
|
|
std::stringstream ss;
|
|
|
|
ss.imbue(loc);
|
|
|
|
ss << value;
|
|
|
|
return ss.str();
|
|
|
|
}
|
|
|
|
|
2018-03-16 23:35:56 +08:00
|
|
|
template<>
|
|
|
|
inline std::string format(const double &value)
|
2016-10-01 21:55:13 +08:00
|
|
|
{
|
|
|
|
static std::locale loc("");
|
|
|
|
std::stringstream ss;
|
|
|
|
ss.imbue(loc);
|
|
|
|
ss << std::fixed << std::setprecision(1) << value;
|
|
|
|
return ss.str();
|
|
|
|
}
|
|
|
|
|
2018-03-09 21:26:33 +08:00
|
|
|
} // namespace utils
|