From f30f6864e2b16241a5bedbad577fd6120466169f Mon Sep 17 00:00:00 2001 From: Elsa Minsut Date: Fri, 7 Nov 2025 04:55:28 +0700 Subject: [PATCH] update: adds docs and xlsx tests for DEGREES and RADIANS functions (#507) * update: adds DEGREES and RADIANS documentation pages * update: adds DEGREES and RADIANS xlsx tests * update: Math and Trigonometry main page links * update: removes links to missing example file --- docs/src/functions/math-and-trigonometry.md | 4 +- .../math_and_trigonometry/degrees.md | 41 +++++++++++++++--- .../math_and_trigonometry/radians.md | 39 ++++++++++++++--- xlsx/tests/calc_tests/DEGREES_RADIANS.xlsx | Bin 0 -> 11015 bytes 4 files changed, 72 insertions(+), 12 deletions(-) create mode 100644 xlsx/tests/calc_tests/DEGREES_RADIANS.xlsx diff --git a/docs/src/functions/math-and-trigonometry.md b/docs/src/functions/math-and-trigonometry.md index f7ef6fd..f2d8f3b 100644 --- a/docs/src/functions/math-and-trigonometry.md +++ b/docs/src/functions/math-and-trigonometry.md @@ -36,7 +36,7 @@ You can track the progress in this [GitHub issue](https://github.com/ironcalc/Ir | CSC | | – | | CSCH | | – | | DECIMAL | | – | -| DEGREES | | – | +| DEGREES | | [DEGREES](math_and_trigonometry/degrees) | | EVEN | | – | | EXP | | – | | FACT | | – | @@ -64,7 +64,7 @@ You can track the progress in this [GitHub issue](https://github.com/ironcalc/Ir | POWER | | – | | PRODUCT | | – | | QUOTIENT | | – | -| RADIANS | | – | +| RADIANS | | [RADIANS](math_and_trigonometry/radians) | | RAND | | – | | RANDARRAY | | – | | RANDBETWEEN | | – | diff --git a/docs/src/functions/math_and_trigonometry/degrees.md b/docs/src/functions/math_and_trigonometry/degrees.md index a82bcad..fce162a 100644 --- a/docs/src/functions/math_and_trigonometry/degrees.md +++ b/docs/src/functions/math_and_trigonometry/degrees.md @@ -4,9 +4,40 @@ outline: deep lang: en-US --- -# DEGREES +# DEGREES function -::: warning -🚧 This function is not yet available in IronCalc. -[Follow development here](https://github.com/ironcalc/IronCalc/labels/Functions) -::: \ No newline at end of file +## Overview +DEGREES is a function of the Math and Trigonometry category that converts an angle measured in radians to an equivalent angle measured in degrees. + +## Usage +### Syntax +**DEGREES(angle) => degrees** + +### Argument descriptions +* *angle* ([number](/features/value-types#numbers), required). The angle in radians that is to be converted to degrees. + +### Additional guidance +The conversion from radians to degrees is based on the relationship: +$$ +1~\:~\text{radian} = \dfrac{180}{\pi}~\text{degrees} \approx 57.29577951~\text{degrees} +$$ + +### Returned value +DEGREES returns a [number](/features/value-types#numbers) that represents the value of the given angle expressed in degrees. + +### Error conditions +* In common with many other IronCalc functions, DEGREES propagates errors that are found in its argument. +* If no argument, or more than one argument, is supplied, then DEGREES returns the [`#ERROR!`](/features/error-types.md#error) error. +* If the value of the *angle* argument is not (or cannot be converted to) a [number](/features/value-types#numbers), then DEGREES returns the [`#VALUE!`](/features/error-types.md#value) error. + + + + +## Links +* For more information about angle conversions, visit Wikipedia's [Degree (angle)](https://en.wikipedia.org/wiki/Degree_(angle)) page. +* See also IronCalc's [RADIANS](/functions/math_and_trigonometry/radians) function for converting degrees to radians. +* Visit Microsoft Excel's [DEGREES function](https://support.microsoft.com/en-us/office/degrees-function-4d6ec4db-e694-4b94-ace0-1cc3f61f9ba1) page. +* Both [Google Sheets](https://support.google.com/docs/answer/3093481) and [LibreOffice Calc](https://wiki.documentfoundation.org/Documentation/Calc_Functions/DEGREES) provide versions of the DEGREES function. \ No newline at end of file diff --git a/docs/src/functions/math_and_trigonometry/radians.md b/docs/src/functions/math_and_trigonometry/radians.md index 1796455..0e9674c 100644 --- a/docs/src/functions/math_and_trigonometry/radians.md +++ b/docs/src/functions/math_and_trigonometry/radians.md @@ -4,9 +4,38 @@ outline: deep lang: en-US --- -# RADIANS +# RADIANS function -::: warning -🚧 This function is not yet available in IronCalc. -[Follow development here](https://github.com/ironcalc/IronCalc/labels/Functions) -::: \ No newline at end of file +## Overview +RADIANS is a function of the Math and Trigonometry category that converts an angle measured in degrees to an equivalent angle measured in radians. + +## Usage +### Syntax +**RADIANS(angle) => radians** + +### Argument descriptions +* *angle* ([number](/features/value-types#numbers), required). The angle in degrees that is to be converted to radians. + +### Additional guidance +The conversion from degrees to radians is based on the relationship: +$$ +1~\:~\text{degree} = \dfrac{\pi}{180}~\text{radians} \approx 0.01745329252~\text{radians} +$$ + +### Returned value +RADIANS returns a [number](/features/value-types#numbers) that represents the value of the given angle expressed in radians. + +### Error conditions +* In common with many other IronCalc functions, RADIANS propagates errors that are found in its argument. +* If no argument, or more than one argument, is supplied, then RADIANS returns the [`#ERROR!`](/features/error-types.md#error) error. +* If the value of the *angle* argument is not (or cannot be converted to) a [number](/features/value-types#numbers), then RADIANS returns the [`#VALUE!`](/features/error-types.md#value) error. + + +## Links +* For more information about angle conversions, visit Wikipedia's [Radian](https://en.wikipedia.org/wiki/Radian) page. +* See also IronCalc's [DEGREES](/functions/math_and_trigonometry/degrees) function for converting radians to degrees. +* Visit Microsoft Excel's [RADIANS function](https://support.microsoft.com/en-us/office/radians-function-907f0ede-ef2e-4f7b-911a-015e2f8ab878) page. +* Both [Google Sheets](https://support.google.com/docs/answer/3093481) and [LibreOffice Calc](https://wiki.documentfoundation.org/Documentation/Calc_Functions/RADIANS) provide versions of the RADIANS function. \ No newline at end of file diff --git a/xlsx/tests/calc_tests/DEGREES_RADIANS.xlsx b/xlsx/tests/calc_tests/DEGREES_RADIANS.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..22c426672c70408a71b25546a23a5d89e625e225 GIT binary patch literal 11015 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