Formato de números con comas en C
En C, la clase std::locale proporciona una forma dependiente de la configuración regional para formatear números con comas .
std::locale con std::stringstream
Para formatear un número como una cadena con comas, puede usar std::locale con std::stringstream de la siguiente manera:
#include
#include
template
std::string FormatWithCommas(const T& value) {
std::stringstream ss;
ss.imbue(std::locale("")); // Use the system's locale
ss Ejemplo de uso:
std::string result1 = FormatWithCommas(7800);
std::string result2 = FormatWithCommas(5100100);
std::string result3 = FormatWithCommas(201234567890);
// result1 = "7,800"
// result2 = "5,100,100"
// result3 = "201,234,567,890"
Manejo de dobles
Para formatear un doble como una cadena con comas, puede usar el mismo enfoque que el anterior, pero el código Necesito manejar el punto decimal:
template
std::string FormatWithCommas(const T& value) {
std::stringstream ss;
ss.imbue(std::locale(""));
ss Descargo de responsabilidad:
Tenga en cuenta que la portabilidad de las soluciones anteriores puede ser un problema, ya que la configuración regional utilizada cuando se pasa "" puede variar según el sistema.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3