summaryrefslogtreecommitdiff
path: root/vcl/source/control/field.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/control/field.cxx')
-rw-r--r--vcl/source/control/field.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx
index 23bd0d14ad1e..2f7f08f40f2c 100644
--- a/vcl/source/control/field.cxx
+++ b/vcl/source/control/field.cxx
@@ -157,10 +157,10 @@ bool ImplNumericGetValue( const OUString& rStr, sal_Int64& rValue,
bool bCurrency = false )
{
OUString aStr = rStr;
- OUStringBuffer aStr1, aStr2, aStrFrac, aStrNum, aStrDenom;
+ OUStringBuffer aStr1, aStr2, aStrNum, aStrDenom;
bool bNegative = false;
bool bFrac = false;
- sal_Int32 nDecPos, nFracDivPos, nFracNumPos;
+ sal_Int32 nDecPos, nFracDivPos;
sal_Int64 nValue;
// react on empty string
@@ -182,7 +182,7 @@ bool ImplNumericGetValue( const OUString& rStr, sal_Int64& rValue,
if (nFracDivPos > 0)
{
bFrac = true;
- nFracNumPos = aStr.lastIndexOf(' ', nFracDivPos);
+ sal_Int32 nFracNumPos = aStr.lastIndexOf(' ', nFracDivPos);
// If in "a b/c" format.
if(nFracNumPos != -1 )
@@ -310,6 +310,7 @@ bool ImplNumericGetValue( const OUString& rStr, sal_Int64& rValue,
sal_Int64 nDenom = aStrDenom.makeStringAndClear().toInt64();
if (nDenom == 0) return false; // Division by zero
double nFrac2Dec = nWholeNum + static_cast<double>(nNum)/nDenom; // Convert to double for floating point precision
+ OUStringBuffer aStrFrac;
aStrFrac.append(nFrac2Dec);
// Reconvert division result to string and parse
nDecPos = aStrFrac.indexOf('.');