Vue金融數(shù)字格式化(并保留小數(shù))數(shù)字滾動效果實現(xiàn)
Vue金融數(shù)字格式化(并保留小數(shù)) 數(shù)字滾動

提示
我選用的是Vue 過濾器使用,個人覺得比較方便,不過過濾器不支持Vue3,你可以封裝成方法嘛都行,下面我以過濾器的形式展示出來
filters: {
// 截取字符串
subStringText(value, index) {
const str = String(value);
if (!value) return 0;
return str.length > index ? str.substring(0, index) + '...' : str;
},
// 格式化數(shù)字
formatNumber(num,decimals) {
num = num.toFixed(decimals);
num += '';
const x = num.split('.');
let x1 = x[0];
const x2 = x.length > 1 ? '.' + x[1] : '';
const rgx = /(\d+)(\d{3})/;
if (',' && isNaN(parseFloat(','))) {
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
}
return x1 + x2;
},
},使用:

有個插件 -- 可以輕松實現(xiàn)數(shù)字滾動并且數(shù)字格式化,推薦vue-count-to ,非常友好,
補充:vue做數(shù)字滾動效果
vue實現(xiàn)數(shù)字滾動效果
近期在做項目的時候,產(chǎn)品要求實現(xiàn)數(shù)字滾動效果如下:

用jquery實現(xiàn)
html:
<div class="develop">
<!--滾動的數(shù)字-->
<p><span class="shuzi">3000000</span></p>
<p><span class="shuzi">60000</span></p>
</div>js:
$(".navigation_right li").click(function () {
$(this).siblings('li').removeClass("yanse");
});
let arr = $(".develop>p>.shuzi");
arr.each(function(e, a){
let num = $(a).text()
let i = 0;
let count = parseInt(num /500);
let timer = setInterval(function(){
$(a).text(i)
i += count;
if (i > num)
window.clearInterval(timer)
}, 5)
})這樣做有一個問題,只能和500取余且為整數(shù),而且滾動的時間也沒發(fā)控制,顯然是不滿足我們的業(yè)務(wù)場景的。
用vue-countTo實現(xiàn)
vue-countTo是一個無依賴,輕量級的vue組件,可以自行覆蓋easingFn。
安裝使用
npm install vue-count-to
例子
<template>
<countTo :startVal='startVal' :endVal='endVal' :duration='3000'></countTo>
</template>
<script>
//直接引入組件'vue-count-to'
import countTo from 'vue-count-to';
export default {
//注冊組件
components: { countTo },
data () {
return {
//數(shù)字開始
startVal: 0,
//數(shù)字結(jié)束
endVal: 50000
}
}
}
</script>其中:startVal為開始數(shù)字,startVal為結(jié)束數(shù)字,duration為滾動時長, decimal:保留小數(shù)點后幾位
| Property | Description | type | default |
|---|---|---|---|
| startVal | 開始值 | Number | 0 |
| endVal | 結(jié)束值 | Number | 2017 |
| duration | 持續(xù)時間,以毫秒為單位 | Number | 3000 |
| autoplay | 自動播放 | Boolean | true |
| decimals | 要顯示的小數(shù)位數(shù) | Number | 0 |
| decimal | 十進制分割 | String | . |
| separator | 分隔符 | String | , |
| prefix | 前綴 | String | '' |
| suffix | 后綴 | String | '' |
| useEasing | 使用緩和功能 | Boolean | true |
| easingFn | 緩和回調(diào) | Function | — |
** 注意:當(dāng)autoplay:true時,它將在startVal或endVal更改時自動啟動**
| Function Name | Description |
|---|---|
| mountedCallback | 掛載以后返回回調(diào) |
| start | 開始計數(shù) |
| pause | 暫停計數(shù) |
| reset | 重置countTo |
到此這篇關(guān)于Vue金融數(shù)字格式化(并保留小數(shù)) 數(shù)字滾動的文章就介紹到這了,更多相關(guān)vue數(shù)字滾動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue使用lodash進行防抖節(jié)流的實現(xiàn)
本文主要介紹了Vue使用lodash進行防抖節(jié)流的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
去除Element-Plus下拉菜單邊框的實現(xiàn)步驟
Element-Plus 是 Element UI 的 Vue 3 版本,它提供了一套完整的組件庫,在使用 Element-Plus 進行開發(fā)時,我們可能會遇到需要自定義組件樣式的情況,本文將介紹如何使用 CSS 來去除 Element-Plus 下拉框的邊框,需要的朋友可以參考下2024-03-03
vue-cil之a(chǎn)xios的二次封裝與proxy反向代理使用說明
這篇文章主要介紹了vue-cil之a(chǎn)xios的二次封裝與proxy反向代理使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04
vue2.0 移動端實現(xiàn)下拉刷新和上拉加載更多的示例
本篇文章主要介紹vue2.0 移動端實現(xiàn)下拉刷新和上拉加載更多的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
Vue數(shù)據(jù)驅(qū)動模擬實現(xiàn)4
這篇文章主要介紹了Vue數(shù)據(jù)驅(qū)動模擬實現(xiàn)的相關(guān)資料,介紹了Array的變異方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
解決vue-photo-preview 異步圖片放大失效的問題
這篇文章主要介紹了解決vue-photo-preview 異步圖片放大失效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07

