You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ms...@apache.org on 2023/01/30 22:48:36 UTC
[openoffice] branch trunk updated: OpenOffice Calc offers functions for converting from old national currencies to EURO.
This is an automated email from the ASF dual-hosted git repository.
mseidel pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/trunk by this push:
new a658d2c3a5 OpenOffice Calc offers functions for converting from old national currencies to EURO.
a658d2c3a5 is described below
commit a658d2c3a558c3c19f1f11cd0c149f02935bb073
Author: mseidel <ms...@apache.org>
AuthorDate: Mon Jan 30 23:46:11 2023 +0100
OpenOffice Calc offers functions for converting from old national currencies to EURO.
Croatia joined the euro area in 2023, see:
https://www.ecb.europa.eu/euro/changeover/croatia/html/index.en.html
---
.../registry/data/org/openoffice/Office/Calc.xcu | 11 +++++++++++
main/sc/source/core/tool/interpr2.cxx | 22 +++++++++++-----------
2 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/main/officecfg/registry/data/org/openoffice/Office/Calc.xcu b/main/officecfg/registry/data/org/openoffice/Office/Calc.xcu
index 51260af9e2..ee857f4b37 100644
--- a/main/officecfg/registry/data/org/openoffice/Office/Calc.xcu
+++ b/main/officecfg/registry/data/org/openoffice/Office/Calc.xcu
@@ -233,6 +233,17 @@
<value>3.45280</value>
</prop>
</node>
+ <node oor:name="CR20" oor:op="replace">
+ <prop oor:name="FromUnit">
+ <value>EUR</value>
+ </prop>
+ <prop oor:name="ToUnit">
+ <value>HRK</value>
+ </prop>
+ <prop oor:name="Factor">
+ <value>7.53450</value>
+ </prop>
+ </node>
</node>
<node oor:name="Calculate">
<node oor:name="Other">
diff --git a/main/sc/source/core/tool/interpr2.cxx b/main/sc/source/core/tool/interpr2.cxx
index a2d8222457..2d8dfcd2d9 100644
--- a/main/sc/source/core/tool/interpr2.cxx
+++ b/main/sc/source/core/tool/interpr2.cxx
@@ -70,7 +70,7 @@ double ScInterpreter::GetDateSerial( sal_Int16 nYear, sal_Int16 nMonth, sal_Int1
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::GetDateSerial" );
if ( nYear < 100 && !bStrict )
nYear = pFormatter->ExpandTwoDigitYear( nYear );
- // Do not use a default Date ctor here because it asks system time with a
+ // Do not use a default Date ctor here because it asks system time with a
// performance penalty.
sal_Int16 nY, nM, nD;
if (bStrict)
@@ -1138,10 +1138,10 @@ double ScInterpreter::ScGetRmz(double fRate, double fNper, double fPv,
else
{
if (fPaytype > 0.0) // payment in advance
- fPayment = (fFv + fPv * exp( fNper * ::boost::math::log1p(fRate) ) ) * fRate /
+ fPayment = (fFv + fPv * exp( fNper * ::boost::math::log1p(fRate) ) ) * fRate /
(::boost::math::expm1( (fNper + 1) * ::boost::math::log1p(fRate) ) - fRate);
else // payment in arrear
- fPayment = (fFv + fPv * exp(fNper * ::boost::math::log1p(fRate) ) ) * fRate /
+ fPayment = (fFv + fPv * exp(fNper * ::boost::math::log1p(fRate) ) ) * fRate /
::boost::math::expm1( fNper * ::boost::math::log1p(fRate) );
}
return -fPayment;
@@ -1803,7 +1803,7 @@ void ScInterpreter::ScIntersect()
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScIntersect" );
formula::FormulaTokenRef p2nd = PopToken();
formula::FormulaTokenRef p1st = PopToken();
-
+
if (nGlobalError || !p2nd || !p1st)
{
PushIllegalArgument();
@@ -1951,7 +1951,7 @@ void ScInterpreter::ScRangeFunc()
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScRangeFunc" );
formula::FormulaTokenRef x2 = PopToken();
formula::FormulaTokenRef x1 = PopToken();
-
+
if (nGlobalError || !x2 || !x1)
{
PushIllegalArgument();
@@ -1970,7 +1970,7 @@ void ScInterpreter::ScUnionFunc()
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScUnionFunc" );
formula::FormulaTokenRef p2nd = PopToken();
formula::FormulaTokenRef p1st = PopToken();
-
+
if (nGlobalError || !p2nd || !p1st)
{
PushIllegalArgument();
@@ -1989,7 +1989,7 @@ void ScInterpreter::ScUnionFunc()
ScToken* x1 = static_cast<ScToken*>(p1st.get());
ScToken* x2 = static_cast<ScToken*>(p2nd.get());
-
+
ScTokenRef xRes;
// Append to an existing RefList if there is one.
if (sv1 == svRefList)
@@ -2671,7 +2671,8 @@ sal_Bool lclConvertMoney( const String& aSearchUnit, double& rfRate, int& rnDec
{ "SKK", 30.1260, 2 },
{ "EEK", 15.6466, 2 },
{ "LVL", 0.702804, 2 },
- { "LTL", 3.45280, 2 }
+ { "LTL", 3.45280, 2 },
+ { "HRK", 7.53450, 2 }
};
const size_t nConversionCount = sizeof( aConvertTable ) / sizeof( aConvertTable[0] );
@@ -2976,7 +2977,7 @@ void ScInterpreter::ScGetPivotData()
//! should allow numeric constraint values
aFilters[i].mbValIsStr = sal_True;
aFilters[i].maValStr = GetString();
-
+
aFilters[i].maFieldName = GetString();
}
}
@@ -3014,7 +3015,7 @@ void ScInterpreter::ScGetPivotData()
goto failed;
}
else
- aTarget.maFieldName = GetString(); // new syntax: first parameter is data field name
+ aTarget.maFieldName = GetString(); // new syntax: first parameter is data field name
if( pDPObj->GetPivotData( aTarget, aFilters ) )
{
@@ -3029,4 +3030,3 @@ void ScInterpreter::ScGetPivotData()
failed :
PushError( errNoRef );
}
-