Kaydet (Commit) c5c47412 authored tarafından Eike Rathke's avatar Eike Rathke

it's unnecessary to buffer the string to create a string from it again

... just in case there was a negative number and a minus to be inserted.
doubleToUString() does it already.

Change-Id: I0052d7bc91b48efb5f14f2f6f5a7c672a1e50ea9
üst 54862a93
...@@ -2120,41 +2120,32 @@ bool SvNumberformat::GetOutputString(double fNumber, ...@@ -2120,41 +2120,32 @@ bool SvNumberformat::GetOutputString(double fNumber,
case css::util::NumberFormat::NUMBER: // Standard number format case css::util::NumberFormat::NUMBER: // Standard number format
if (rScan.GetStandardPrec() == SvNumberFormatter::UNLIMITED_PRECISION) if (rScan.GetStandardPrec() == SvNumberFormatter::UNLIMITED_PRECISION)
{ {
bool bSign = ::rtl::math::isSignBitSet(fNumber); if (::rtl::math::isSignBitSet(fNumber))
if (bSign)
{ {
if (!(fNumber < 0.0)) if (!(fNumber < 0.0))
{ fNumber = -fNumber; // do not display -0.0
bSign = false;
}
fNumber = -fNumber;
} }
if (fNumber < EXP_LOWER_BOUND) if (fNumber < EXP_LOWER_BOUND && fNumber > -EXP_LOWER_BOUND)
{ {
sBuff.append( ::rtl::math::doubleToUString( fNumber, OutString = ::rtl::math::doubleToUString( fNumber,
rtl_math_StringFormat_E2, rtl_math_StringFormat_E2,
15, 15,
GetFormatter().GetNumDecimalSep()[0], true)); GetFormatter().GetNumDecimalSep()[0], true);
} }
else if (fNumber < 1.0) else if (fNumber < 1.0 && fNumber > -1.0)
{ {
sBuff.append( ::rtl::math::doubleToUString( fNumber, OutString = ::rtl::math::doubleToUString( fNumber,
rtl_math_StringFormat_Automatic, rtl_math_StringFormat_Automatic,
15, 15,
GetFormatter().GetNumDecimalSep()[0], true)); GetFormatter().GetNumDecimalSep()[0], true);
} }
else else
{ {
sBuff.append( ::rtl::math::doubleToUString( fNumber, OutString = ::rtl::math::doubleToUString( fNumber,
rtl_math_StringFormat_Automatic, rtl_math_StringFormat_Automatic,
rtl_math_DecimalPlaces_Max, rtl_math_DecimalPlaces_Max,
GetFormatter().GetNumDecimalSep()[0], true)); GetFormatter().GetNumDecimalSep()[0], true);
}
if (bSign)
{
sBuff.insert(0, '-');
} }
OutString = sBuff.makeStringAndClear();
return false; return false;
} }
ImpGetOutputStandard(fNumber, sBuff); ImpGetOutputStandard(fNumber, sBuff);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment