Skip to content

Decimal Number

Type Registry

Decimal Number

representation.numeric.decimal_number

Number with decimal point (e.g., 3.14, -0.5, 1000.001). String representation of a floating-point number. Transforms to DOUBLE.

Domain representationnumeric
Casts to DOUBLE
Scope Universal

Try it

CLI
$ finetype infer -i "3.14"
→ representation.numeric.decimal_number

DuckDB

Detect
SELECT finetype('3.14');
-- → 'representation.numeric.decimal_number'
Cast expression
CAST({col} AS DOUBLE)
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS DOUBLE) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'representation.numeric.decimal_number';

Struct Expansion

fractional_part: CAST((CAST({col} AS DOUBLE) - FLOOR(CAST({col} AS DOUBLE))) * 1000000 AS BIGINT)
integer_part: CAST(FLOOR(CAST({col} AS DOUBLE)) AS BIGINT)

JSON Schema

finetype schema representation.numeric.decimal_number
{
  "$id": "https://noon.sh/schemas/representation.numeric.decimal_number",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Number with decimal point (e.g., 3.14, -0.5, 1000.001). String representation of a floating-point number. Transforms to DOUBLE.",
  "examples": [
    "3.14",
    "-0.5",
    "1000.001",
    "0.0001"
  ],
  "pattern": "^-?[0-9]+(\\.[0-9]+)?$",
  "title": "Decimal Number",
  "type": "string"
}

Examples

3.14-0.51000.0010.0001

Also known as

decimalfloatfloating_point

Types in representation