36 lines
		
	
	
		
			607 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			607 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// Copyright(c) 2015 Gabi Melman.
							 | 
						||
| 
								 | 
							
								// Distributed under the MIT License (http://opensource.org/licenses/MIT)
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#pragma once
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <sstream>
							 | 
						||
| 
								 | 
							
								#include <iomanip>
							 | 
						||
| 
								 | 
							
								#include <locale>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace utils
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<typename T>
							 | 
						||
| 
								 | 
							
								inline std::string format(const T& value)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    static std::locale loc("");
							 | 
						||
| 
								 | 
							
								    std::stringstream ss;
							 | 
						||
| 
								 | 
							
								    ss.imbue(loc);
							 | 
						||
| 
								 | 
							
								    ss << value;
							 | 
						||
| 
								 | 
							
								    return ss.str();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								inline std::string format(const double & value)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    static std::locale loc("");
							 | 
						||
| 
								 | 
							
								    std::stringstream ss;
							 | 
						||
| 
								 | 
							
								    ss.imbue(loc);
							 | 
						||
| 
								 | 
							
								    ss << std::fixed << std::setprecision(1) << value;
							 | 
						||
| 
								 | 
							
								    return ss.str();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |