diff --git a/src/OpenFOAM/fields/Fields/fieldTypes.H b/src/OpenFOAM/fields/Fields/fieldTypes.H index 108812e818..2c2a87a59a 100644 --- a/src/OpenFOAM/fields/Fields/fieldTypes.H +++ b/src/OpenFOAM/fields/Fields/fieldTypes.H @@ -44,8 +44,10 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#define CAPITALIZE_bool Bool #define CAPITALIZE_label Label #define CAPITALIZE_scalar Scalar +#define CAPITALIZE_complex Complex #define CAPITALIZE_vector Vector #define CAPITALIZE_sphericalTensor SphericalTensor #define CAPITALIZE_symmTensor SymmTensor diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.C b/src/OpenFOAM/primitives/Scalar/Scalar.C index 588d88c3e8..bba2f8fd12 100644 --- a/src/OpenFOAM/primitives/Scalar/Scalar.C +++ b/src/OpenFOAM/primitives/Scalar/Scalar.C @@ -57,6 +57,7 @@ pTraits::pTraits(Istream& is) word name(const Scalar val) { + // Caution std::to_string(double) is locale sensitive! std::ostringstream buf; buf << val; diff --git a/src/OpenFOAM/primitives/complex/complex.C b/src/OpenFOAM/primitives/complex/complex.C index 2192ab2c0e..9aab1bdc2d 100644 --- a/src/OpenFOAM/primitives/complex/complex.C +++ b/src/OpenFOAM/primitives/complex/complex.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,6 +28,7 @@ License #include "complex.H" #include "IOstreams.H" +#include // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -69,7 +70,11 @@ Foam::complex::complex(Istream& is) Foam::word Foam::name(const complex& c) { - return '(' + std::to_string(c.Re()) + ',' + std::to_string(c.Im()) + ')'; + // Caution std::to_string(double) is locale sensitive! + std::ostringstream buf; + buf << '(' << c.real() << ',' << c.imag() << ')'; + + return word(buf.str(), false); // Needs no stripping }