{
  "category": "Math and trigonometry functions",
  "display_name": "RADIANS",
  "entry_kind": "built_in_function",
  "eval_api": {
    "method": "POST",
    "url": "https://handbook.dnacalc.com/api/eval"
  },
  "function_id": "FUNC.RADIANS",
  "implementation_state": {
    "answer_bank": {
      "excel_builds": [
        "20430"
      ],
      "larger_numeric": 0,
      "last_bit": 0,
      "matched": 32923,
      "other_mismatch": 0,
      "refused": 2,
      "rows": 32925,
      "unread": 0,
      "worst_ulp": 0
    },
    "detail": "Of 32,928 recorded answers (32,925 in the answer bank and 3 workbook cells), 2 do not match: 2 are refused.",
    "dnacalc_commit": "9e1884369a678158dd82d3d74188daf986995e87",
    "in_catalogue": true,
    "state": "differs",
    "state_label": "Known larger differences",
    "summary": "Refuses 2 of 32,928 recorded calls; the rest match",
    "workbook_corpus": {
      "cells": 3,
      "matched": 3
    }
  },
  "implementations": [
    {
      "commit": "9e1884369a678158dd82d3d74188daf986995e87",
      "flavour": "excel-compatibility-candidate",
      "language": "Rust",
      "name": "CalcFunc",
      "own_code": [
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/math.rs#L87-L89",
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/ported/radians.rs#L3-L6"
      ],
      "repository": "https://github.com/DnaCalc/DnaCalc",
      "shared_code": [
        "catalogue/math::raw",
        "ported/excel_numeric::binary_with",
        "ported/excel_numeric::excel_x87_mul",
        "ported/excel_numeric/x87::mul"
      ],
      "source": "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/math.rs#L87-L89",
      "state": "differs",
      "suite": null,
      "summary": "Refuses 2 of 32,928 recorded calls; the rest match"
    }
  ],
  "json_url": "https://handbook.dnacalc.com/api/functions/FUNC.RADIANS.json",
  "name": "RADIANS",
  "notes": [],
  "schema": "efh.function-reference/v1",
  "section_order": [
    "what-it-does",
    "try-it",
    "quirks",
    "how-to-implement",
    "version-differences",
    "alternatives"
  ],
  "sections": {
    "alternatives": "\n### Relationships\n\n- **`DEGREES`** — the other direction, `r·180/π`. The pair is not a floating-point round trip:\n  `DEGREES(RADIANS(d))` returns `d` for many inputs and not for all, because two roundings by\n  reciprocal-ish constants do not cancel. If a workbook needs the original degrees back, it should\n  keep them rather than convert twice.\n- **The trigonometric family** (`SIN`, `COS`, `TAN`, `SEC`, `CSC`, `COT`) — the consumers.\n  `SEC(RADIANS(x))` inherits the argument-magnitude guard described on [SEC](FUNC.SEC.md), but at\n  a *different* input threshold, because `RADIANS` shrinks the argument by a factor of about 57.3\n  before the guard sees it.\n- **`PI`** — writing `x*PI()/180` by hand is the common alternative, and it is not the same\n  computation; see the numerical notes.\n\n\n",
    "how-to-implement": "\n### Numerical notes\n\nNone of the three is uniformly best. The `natural-best` route is a two-term (double-double)\nrepresentation of π/180: multiply by the high word, then correct with the low word, giving a\nresult correctly rounded on all but a vanishing set of inputs. The cost is one extra multiply-add.\n\n**Why anyone should care.** The conversion is the *first* operation in a trigonometric pipeline,\nso its error is the input error for everything downstream, and the trigonometric functions amplify\nargument error by the derivative. For `TAN` and `SEC` near a pole that amplification is unbounded\n(see [SEC](FUNC.SEC.md)), so a half-ulp difference in the converted angle becomes an arbitrarily\nlarge difference in the result. Angles near 90° are exactly where engineering spreadsheets live.\n\n**The exactness that is *not* available.** Degrees are a decimal-friendly unit and radians are not;\n`RADIANS(90)` cannot be exact, cannot be reduced exactly against π, and cannot be recovered. A\nlibrary that wants exact quadrant behaviour has to keep the angle in degrees all the way to the\nkernel and use degree-argument trigonometric functions (`sinpi`/`cospi`-style, with the argument\nscaled by 1/180 exactly inside the kernel). Excel provides no such function, which is a real gap\nworth naming: there is no `SIND`, and `SIN(RADIANS(30))` does not return exactly `0.5`.\n\n\n",
    "quirks": "\n### Result and edge cases\n\n\nReturns `Number`.\n\n- **`RADIANS(0)`** is zero, and `RADIANS(-0)` preserves the sign of zero in binary64 — a\n  distinction with no worksheet consequence but a real one at the raw-return boundary; see\n  [The value universe](../model/01-value-universe.md).\n- **Tiny angles.** The same multiplication *can* underflow: a subnormal input, multiplied by\n  π/180, rounds to zero. The map is not injective at the bottom of the exponent range.\n- **What comes next is where the surprises live.** `RADIANS(90)` is not π/2, because π/2 is not a\n  double. `SIN(RADIANS(90))` is therefore not exactly 1 for the same reason `SIN(PI()/2)` is not —\n  though in this case the error lands in a place where sine is flat, so it is invisible.\n  `COS(RADIANS(90))` is the visible one: a small nonzero value rather than zero.\n\n\n\n### Errors\n\n| Error | Condition | Source |\n|---|---|---|\n| `#VALUE!` | The argument does not convert to a number | shared coercion model |\n| propagated | The argument is an error value | shared coercion model |\n\n\n",
    "sources": "- Microsoft, \"WorksheetFunction.Radians method (Excel)\" —\n  <https://learn.microsoft.com/en-us/office/vba/api/excel.worksheetfunction.radians> (signature and\n  description; the page states no remarks and no error conditions).\n- Abramowitz & Stegun, *Handbook of Mathematical Functions*, section 4.3 — circular functions and\n  the radian convention.\n- Handbook, [The value universe](../model/01-value-universe.md),\n  [Coercion and lifting](../model/02-coercion-and-lifting.md).\n- Handbook projections `data/functions/FUNC.RADIANS.json`\n  (`UnaryNumericScalarOrArrayElementwise`, `arg_domain_guard=none`, `non_finite=allow`) and\n  `data/presence/FUNC.RADIANS.json` (own module, no shared surfaces, no defect streams).\n\n",
    "version-differences": "The recorded environments below distinguish a reading from a same-input comparison. Counts describe captured inputs in each environment; overlapping captures and comparisons are not totals of unique worksheet calls.\n\n| Excel 16.0 build | Platform and CPU | Captured inputs |\n|---|---|---:|\n| 19929 | Windows, bitness not recorded, CPU not recorded | 41 |\n| 20430 | Windows, 64-bit, CPU not recorded | 32,925 |\n\n- XC-RADIANS-001: build 19929 versus build 20430; 2 same-input pairs, 0 differing answers. Compared axes: excel-build. Numeric answers were compared by their recorded binary64 bits; other answers by typed value.\n\nAgreement on these compared inputs does not establish agreement on unmeasured inputs.\n\n[Recorded environments and comparison details](https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.RADIANS.json).",
    "what-it-does": "\n`RADIANS(angle)` converts an angle from degrees to radians.\n\n    RADIANS(d) = d · π / 180\n\nIt is a linear map — multiplication by a single constant — and it exists because every\ntrigonometric function in the worksheet takes radians while every human angle is written in\ndegrees. The constant is\n\n    π/180 = 0.01745329251994329576923690768488...\n\nDomain: all real numbers. Range: all real numbers. The map is a bijection on the reals with\n`DEGREES` as its exact mathematical inverse, and — this is the part that matters — *not* its\nfloating-point inverse.\n\n\n\n### Arguments\n\n\n| Argument | Meaning | Default |\n|---|---|---|\n| `angle` | An angle in degrees. Required. | — |\n\n"
  },
  "signature": {
    "display": "RADIANS(angle)",
    "parameters": [
      {
        "description": null,
        "name": "angle",
        "optional": false,
        "repeats": false
      }
    ],
    "trailing_repeats": false
  },
  "sources": {
    "metadata": {
      "admission": {
        "label": "implemented",
        "reason": null
      },
      "arity": {
        "max": 1,
        "min": 1
      },
      "category": "Math and trigonometry functions",
      "classification": {
        "arg_preparation_profile": "ValuesOnlyPreAdapter",
        "coercion_lift_profile": "UnaryNumericScalarOrArrayElementwise",
        "determinism_class": "Deterministic",
        "error_collapse_profile": "None",
        "fec_dependency_profile": "None",
        "host_interaction_class": "None",
        "kernel_signature_class": "NumToNum",
        "rich_value_usage": "RichBlind",
        "surface_fec_dependency_profile": "RefOnly",
        "thread_safety_class": "SafePure",
        "volatility_class": "NonVolatile"
      },
      "descriptions": {
        "long": null,
        "short": "Angle in degrees expressed in radians",
        "short_source": "dna-calc-own"
      },
      "docs": {
        "english_description": "Converts degrees to radians",
        "microsoft_url": "https://support.microsoft.com/en-us/office/radians-function-ac409508-3d48-45f5-ac02-1497c92de5bf"
      },
      "entry_kind": "built_in_function",
      "localized_family_names": null,
      "localized_names": [
        {
          "locale": "ar-SA",
          "name": "RADIANS"
        },
        {
          "locale": "bg-BG",
          "name": "RADIANS"
        },
        {
          "locale": "cs-CZ",
          "name": "RADIANS"
        },
        {
          "locale": "da-DK",
          "name": "RADIANER"
        },
        {
          "locale": "de-DE",
          "name": "RADIANS"
        },
        {
          "locale": "el-GR",
          "name": "RADIANS"
        },
        {
          "locale": "en-AU",
          "name": "RADIANS"
        },
        {
          "locale": "en-GB",
          "name": "RADIANS"
        },
        {
          "locale": "en-US",
          "name": "RADIANS"
        },
        {
          "locale": "es-ES",
          "name": "RADIANS"
        },
        {
          "locale": "et-EE",
          "name": "RADIANS"
        },
        {
          "locale": "fi-FI",
          "name": "RADIAANIT"
        },
        {
          "locale": "fr-FR",
          "name": "RADIANS"
        },
        {
          "locale": "he-IL",
          "name": "RADIANS"
        },
        {
          "locale": "hr-HR",
          "name": "RADIANS"
        },
        {
          "locale": "hu-HU",
          "name": "RADIÁN"
        },
        {
          "locale": "id-ID",
          "name": "RADIANS"
        },
        {
          "locale": "it-IT",
          "name": "RADIANS"
        },
        {
          "locale": "ja-JP",
          "name": "RADIANS"
        },
        {
          "locale": "ko-KR",
          "name": "RADIANS"
        },
        {
          "locale": "lt-LT",
          "name": "RADIANS"
        },
        {
          "locale": "lv-LV",
          "name": "RADIANS"
        },
        {
          "locale": "nb-NO",
          "name": "RADIANER"
        },
        {
          "locale": "nl-NL",
          "name": "RADIALEN"
        },
        {
          "locale": "pl-PL",
          "name": "RADIANY"
        },
        {
          "locale": "pt-BR",
          "name": "RADIANOS"
        },
        {
          "locale": "pt-PT",
          "name": "RADIANOS"
        },
        {
          "locale": "ro-RO",
          "name": "RADIANS"
        },
        {
          "locale": "ru-RU",
          "name": "РАДИАНЫ"
        },
        {
          "locale": "sk-SK",
          "name": "RADIÁNY"
        },
        {
          "locale": "sl-SI",
          "name": "RADIANS"
        },
        {
          "locale": "sr-Latn-RS",
          "name": "RADIJANI"
        },
        {
          "locale": "sv-SE",
          "name": "RADIANER"
        },
        {
          "locale": "th-TH",
          "name": "RADIANS"
        },
        {
          "locale": "tr-TR",
          "name": "RADYAN"
        },
        {
          "locale": "uk-UA",
          "name": "RADIANS"
        },
        {
          "locale": "vi-VN",
          "name": "RADIANS"
        },
        {
          "locale": "zh-CN",
          "name": "RADIANS"
        },
        {
          "locale": "zh-HK",
          "name": "RADIANS"
        },
        {
          "locale": "zh-TW",
          "name": "RADIANS"
        }
      ],
      "signature": {
        "display": "RADIANS(angle)",
        "parameters": [
          {
            "description": null,
            "name": "angle",
            "optional": false,
            "repeats": false
          }
        ],
        "trailing_repeats": false
      },
      "surface_name": "RADIANS",
      "version_marker": null,
      "xlcall": {
        "code": "342",
        "symbol": "xlfRadians"
      }
    },
    "microsoft": "https://support.microsoft.com/en-us/office/radians-function-ac409508-3d48-45f5-ac02-1497c92de5bf"
  },
  "try_it": {
    "formula": "=RADIANS(0)"
  },
  "url": "https://handbook.dnacalc.com/functions/RADIANS.html",
  "variants": [],
  "versions": [
    {
      "behaviour": "41 captured inputs are indexed for this environment. Capture dates are not recorded. This is a reading count, not a comparison with another build.",
      "excel_build": "16.0 build 19929",
      "platform": "Windows, bitness not recorded, CPU not recorded",
      "sources": [
        "https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.RADIANS.json"
      ]
    },
    {
      "behaviour": "32,925 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build.",
      "excel_build": "16.0 build 20430",
      "platform": "Windows, 64-bit, CPU not recorded",
      "sources": [
        "https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.RADIANS.json"
      ]
    }
  ]
}