Sumivo · Converters

Density Converter

Convert through one Kilogram per cubic metre (SI) baseline and round only the displayed value.

01 / CONVERT DENSITY

1000

CONVERTED VALUE

1 g/cm³ = 1000 kg/m³

Conversion constant: 1 g/cm³ = 1000 kg/m³

Converted value
1000 kg/m³
Baseline (kg/m³)
1000 kg/m³

Calculation trace

  1. 1 gcm3 → kg/m³
    1000 kg/m³
    Normalise to base unit
  2. 1,000 kg/m³ → kgm3
    1000 kgm3
    Convert to target unit
SOURCERELATIONCONVERTED
1 g/cm³=1000 kg/m³
5 g/cm³=5000 kg/m³
10 g/cm³=10000 kg/m³
25 g/cm³=25000 kg/m³
100 g/cm³=100000 kg/m³

Maintained by Jack Shi

§

How it works

The input is normalised to the normalization unit (kg/m³) using fixed NIST SP 811 conversion factors, then converted to the target unit. Same-unit conversions return the input exactly.

Assumptions & limits

  • Metric relationships use powers of ten. Pound-per-volume factors are stored as rounded decimal approximations of the defined mass and volume relationships.
  • Calculations use JavaScript double-precision floating-point arithmetic, which can introduce small rounding errors; display formatting may round further.

Verified runs

Synthetic examples executed at build revision 24533ff on . Cards round decimal results to 6 significant figures; matching uses full precision and the tolerance below. Matches cover the displayed fields, not every possible input or clinical or engineering validation.

  • Inputs: Value: 1 g/cm³; From unit: g/cm³; To unit: kg/m³

    Result: Value: 1000 kg/m³ (expected Value: 1000 kg/m³) ✓

  • Inputs: Value: 0 g/cm³; From unit: g/cm³; To unit: kg/m³

    Result: Value: 0 kg/m³ (expected Value: 0 kg/m³) ✓

  • Inputs: Value: 1 lb/ft³; From unit: lb/ft³; To unit: kg/m³

    Result: Value: 16.0185 kg/m³ (expected Value: 16.0185 kg/m³) ✓

How these runs were checked

Method: density-linear@1.0.1. Expectations come from the listed test fixtures or hand arithmetic; they are not copied from these executions. Omitted optional inputs use the method defaults. Run dates record execution, not expert review or fresh measurements.

Download all verified runs (JSON) — full inputs, returned values, expectations, timestamps and buildRevision.

  • normal: . Absolute tolerance: 5e-7. Text and booleans match exactly. Full-precision result: Value: 1000 kg/m³. Expected: Value: 1000 kg/m³. Expectation: packages/calculator-core/tests/density-converter.test.ts
  • boundary: . Absolute tolerance: 0. Text and booleans match exactly. Full-precision result: Value: 0 kg/m³. Expected: Value: 0 kg/m³. Expectation: Hand arithmetic: 0 gcm3 × the finite conversion factor = 0 kgm3.
  • sensitivity: . Absolute tolerance: 5e-7. Text and booleans match exactly. Full-precision result: Value: 16.018463373960138 kg/m³. Expected: Value: 16.018463373960138 kg/m³. Expectation: packages/calculator-core/tests/density-converter.test.ts

Reproduce from the source checkout with pnpm --filter @sumivo/web gen:verified-runs. A rebuild changes execution times; the revision identifies its Git starting point, including any uncommitted changes made for that build.

§

FAQ

Why convert through a base unit?
Normalising every unit to kg/m³ first means one small, checkable factor table covers every from/to pair with floating-point rounding possible.
§

SOURCES