21#include <rtl/math.hxx>
26 std::u16string_view rStr,
29 while( io_rPos < nLen &&
30 rStr[io_rPos] ==
' ' )
37 std::u16string_view rStr,
41 && (rStr[io_rPos] ==
' ' || rStr[io_rPos] ==
','))
49 std::u16string_view rStr)
51 const sal_Int64 nStrSize = rStr.size();
52 sal_Unicode aChar = io_rPos < nStrSize ? rStr[io_rPos] : 0;
53 const sal_Int32 nStartPos = io_rPos;
56 if(aChar ==
'+' || aChar ==
'-')
58 aChar = rStr[++io_rPos];
62 while(
'0' <= aChar &&
'9' >= aChar)
65 aChar = io_rPos < nStrSize ? rStr[io_rPos] : 0;
72 aChar = io_rPos < nStrSize ? rStr[io_rPos] : 0;
76 while (
'0' <= aChar &&
'9' >= aChar)
79 aChar = io_rPos < nStrSize ? rStr[io_rPos] : 0;
83 if(aChar ==
'e' || aChar ==
'E')
86 aChar = io_rPos < nStrSize ? rStr[io_rPos] : 0;
89 if(aChar ==
'+' || aChar ==
'-')
92 aChar = io_rPos < nStrSize ? rStr[io_rPos] : 0;
96 while(
'0' <= aChar &&
'9' >= aChar)
99 aChar = io_rPos < nStrSize ? rStr[io_rPos] : 0;
103 const sal_Int32 nLen = io_rPos - nStartPos;
106 rStr = rStr.substr(nStartPos, nLen);
107 rtl_math_ConversionStatus eStatus;
108 o_fRetval = ::rtl::math::stringToDouble( rStr,
112 return ( eStatus == rtl_math_ConversionStatus_Ok );
120 std::u16string_view rStr,
121 const sal_Int32 nLen )
133 std::u16string_view rStr,
134 const sal_Int32 nLen)
143 else if (aChar ==
'1')
void skipSpaces(sal_Int32 &io_rPos, std::u16string_view rStr, const sal_Int32 nLen)
bool importFlagAndSpaces(sal_Int32 &o_nRetval, sal_Int32 &io_rPos, std::u16string_view rStr, const sal_Int32 nLen)
static bool getDoubleChar(double &o_fRetval, sal_Int32 &io_rPos, std::u16string_view rStr)
bool importDoubleAndSpaces(double &o_fRetval, sal_Int32 &io_rPos, std::u16string_view rStr, const sal_Int32 nLen)
static void skipSpacesAndCommas(sal_Int32 &io_rPos, std::u16string_view rStr, const sal_Int32 nLen)