| 
									
										
										
										
											2016-09-18 01:51:53 +03: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 15:26:33 +02:00
										 |  |  | #include <sstream>
 | 
					
						
							| 
									
										
										
										
											2016-09-18 01:51:53 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-09 15:26:33 +02:00
										 |  |  | namespace utils { | 
					
						
							| 
									
										
										
										
											2016-09-18 01:51:53 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-16 17:35:56 +02:00
										 |  |  | template<typename T> | 
					
						
							|  |  |  | inline std::string format(const T &value) | 
					
						
							| 
									
										
										
										
											2016-09-18 01:51:53 +03:00
										 |  |  | { | 
					
						
							|  |  |  |     static std::locale loc(""); | 
					
						
							|  |  |  |     std::stringstream ss; | 
					
						
							|  |  |  |     ss.imbue(loc); | 
					
						
							|  |  |  |     ss << value; | 
					
						
							|  |  |  |     return ss.str(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-16 17:35:56 +02:00
										 |  |  | template<> | 
					
						
							|  |  |  | inline std::string format(const double &value) | 
					
						
							| 
									
										
										
										
											2016-09-18 01:51:53 +03:00
										 |  |  | { | 
					
						
							|  |  |  |     static std::locale loc(""); | 
					
						
							|  |  |  |     std::stringstream ss; | 
					
						
							|  |  |  |     ss.imbue(loc); | 
					
						
							|  |  |  |     ss << std::fixed << std::setprecision(1) << value; | 
					
						
							|  |  |  |     return ss.str(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-09 15:26:33 +02:00
										 |  |  | } // namespace utils
 |