Meridianmeridian

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
representation
Category
numeric
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

Expression
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://meridian.online/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",
  "x-finetype-broad-type": "DOUBLE",
  "x-finetype-transform": "CAST({col} AS DOUBLE)"
}

Examples

3.14-0.51000.0010.0001

Aliases

decimalfloatfloating_point