{{ num | trunc }}
{{ num | trunc(2) }}
<div id="app">
<p><input v-model="num"></p>
<p>{{ num | trunc }}</p>
<p>{{ num | trunc(2) }}</p>
</div>
new Vue({
el: '#app',
data: {
num: 3.14159
},
filters: {
trunc(num, n) {
if (!num) return num
const digit = String(num).split('.')[1]
? String(num).split('.')[1].length
: null
if (!digit) return num
Math.trunc = Math.trunc || function(x) {
return x < 0 ? Math.ceil(x) : Math.floor(x);
};
if (n > 1) {
num *= 10 ** n
return Math.trunc(num) / 10 ** n
} else {
return Math.trunc(num)
}
}
}
})