truncateDecimals()

·view .md ↗·chatgpt ↗·claude ↗

Code

function truncateDecimals(value: number, decimalPlaces: number): number {
    const factor = 10 ** decimalPlaces;
    return Math.trunc(value * factor) / factor;
}

Parameters

ParameterDescription
valueOriginal number.
decimalPlacesHow many decimals to keep.

Nuxt Example

<script setup lang="ts">
const truncateDecimals = (value: number, decimalPlaces: number) => {
  const factor = 10 ** decimalPlaces
  return Math.trunc(value * factor) / factor
}

const amount = ref('19.999')
const truncated = computed(() => truncateDecimals(Number(amount.value) || 0, 2))
</script>

<template>
  <label>
    Original amount
    <input type="number" step="0.001" v-model="amount" />
  </label>
  <p>Unrounded: {{ truncated }}</p>
</template>

<style scoped>
label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-weight: 600;
}

input {
  padding: 0.5rem;
  border: 1px solid #cbd5f5;
  border-radius: 0.4rem;
}

p {
  margin-top: 0.5rem;
}
</style>