Code
function truncateDecimals(value: number, decimalPlaces: number): number {
const factor = 10 ** decimalPlaces;
return Math.trunc(value * factor) / factor;
}
Parameters
| Parameter | Description |
|---|---|
value | Original number. |
decimalPlaces | How 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>