-----------------------------------------------------------------------
| 91 | } |
| 92 | //----------------------------------------------------------------------- |
| 93 | String StringConverter::toString( float val, unsigned short precision, unsigned short width, |
| 94 | char fill, std::ios::fmtflags flags ) |
| 95 | { |
| 96 | #ifdef OGRE_HAS_CHARCONV_FLOAT |
| 97 | if( width == 0 && flags == std::ios::fmtflags( 0 ) ) |
| 98 | { |
| 99 | char buf[32]; |
| 100 | to_chars_result res = |
| 101 | precision ? to_chars( buf, buf + sizeof( buf ), val, chars_format::general, precision ) |
| 102 | : to_chars( buf, buf + sizeof( buf ), val ); |
| 103 | assert( res.ec == errc() ); |
| 104 | return String( buf, res.ptr ); |
| 105 | } |
| 106 | #endif |
| 107 | StringStream stream; |
| 108 | if( msUseLocale ) |
| 109 | stream.imbue( msLocale ); |
| 110 | if( precision != 0 ) |
| 111 | stream.precision( precision ); |
| 112 | stream.width( width ); |
| 113 | stream.fill( fill ); |
| 114 | if( flags ) |
| 115 | stream.setf( flags ); |
| 116 | stream << val; |
| 117 | return stream.str(); |
| 118 | } |
| 119 | //----------------------------------------------------------------------- |
| 120 | String StringConverter::toString( double val, unsigned short precision, unsigned short width, |
| 121 | char fill, std::ios::fmtflags flags ) |
no test coverage detected