Vue金融數(shù)字格式化(并保留小數(shù))數(shù)字滾動(dòng)效果實(shí)現(xiàn)
Vue金融數(shù)字格式化(并保留小數(shù)) 數(shù)字滾動(dòng)
提示
我選用的是Vue 過(guò)濾器使用,個(gè)人覺(jué)得比較方便,不過(guò)過(guò)濾器不支持Vue3,你可以封裝成方法嘛都行,下面我以過(guò)濾器的形式展示出來(lái)
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; }, },
使用:
有個(gè)插件 -- 可以輕松實(shí)現(xiàn)數(shù)字滾動(dòng)并且數(shù)字格式化,推薦vue-count-to ,非常友好,
補(bǔ)充:vue做數(shù)字滾動(dòng)效果
vue實(shí)現(xiàn)數(shù)字滾動(dòng)效果
近期在做項(xiàng)目的時(shí)候,產(chǎn)品要求實(shí)現(xiàn)數(shù)字滾動(dòng)效果如下:
用jquery實(shí)現(xiàn)
html: <div class="develop"> <!--滾動(dòng)的數(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) })
這樣做有一個(gè)問(wèn)題,只能和500取余且為整數(shù),而且滾動(dòng)的時(shí)間也沒(méi)發(fā)控制,顯然是不滿足我們的業(yè)務(wù)場(chǎng)景的。
用vue-countTo實(shí)現(xiàn)
vue-countTo是一個(gè)無(wú)依賴,輕量級(jí)的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 { //注冊(cè)組件 components: { countTo }, data () { return { //數(shù)字開(kāi)始 startVal: 0, //數(shù)字結(jié)束 endVal: 50000 } } } </script>
其中:startVal為開(kāi)始數(shù)字,startVal為結(jié)束數(shù)字,duration為滾動(dòng)時(shí)長(zhǎng), decimal:保留小數(shù)點(diǎn)后幾位
Property | Description | type | default |
---|---|---|---|
startVal | 開(kāi)始值 | Number | 0 |
endVal | 結(jié)束值 | Number | 2017 |
duration | 持續(xù)時(shí)間,以毫秒為單位 | Number | 3000 |
autoplay | 自動(dòng)播放 | Boolean | true |
decimals | 要顯示的小數(shù)位數(shù) | Number | 0 |
decimal | 十進(jìn)制分割 | String | . |
separator | 分隔符 | String | , |
prefix | 前綴 | String | '' |
suffix | 后綴 | String | '' |
useEasing | 使用緩和功能 | Boolean | true |
easingFn | 緩和回調(diào) | Function | — |
** 注意:當(dāng)autoplay:true時(shí),它將在startVal或endVal更改時(shí)自動(dòng)啟動(dòng)**
Function Name | Description |
---|---|
mountedCallback | 掛載以后返回回調(diào) |
start | 開(kāi)始計(jì)數(shù) |
pause | 暫停計(jì)數(shù) |
reset | 重置countTo |
到此這篇關(guān)于Vue金融數(shù)字格式化(并保留小數(shù)) 數(shù)字滾動(dòng)的文章就介紹到這了,更多相關(guān)vue數(shù)字滾動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue-cli解決IE瀏覽器sockjs-client錯(cuò)誤方法
這篇文章主要為大家介紹了vue-cli解決IE瀏覽器sockjs-client錯(cuò)誤方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08el-select自定義指令實(shí)現(xiàn)觸底加載分頁(yè)請(qǐng)求options數(shù)據(jù)(完整代碼和接口可直接用)
某些情況下,下拉框需要做觸底加載,發(fā)請(qǐng)求,獲取option的數(shù)據(jù),下面給大家分享el-select自定義指令實(shí)現(xiàn)觸底加載分頁(yè)請(qǐng)求options數(shù)據(jù)(附上完整代碼和接口可直接用),感興趣的朋友參考下吧2024-02-02vue中渲染對(duì)象中屬性時(shí)顯示未定義的解決
這篇文章主要介紹了vue中渲染對(duì)象中屬性時(shí)顯示未定義的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07vue3項(xiàng)目vite.config.js配置代理、端口、打包名以及圖片壓縮
這篇文章主要給大家介紹了關(guān)于vue3項(xiàng)目vite.config.js配置代理、端口、打包名以及圖片壓縮的相關(guān)資料,因?yàn)?.0版本中vue已經(jīng)內(nèi)置了很多關(guān)于webpack的配置,一般情況下開(kāi)箱即用,需要修改則可以在vue.config.js文件中完成,需要的朋友可以參考下2023-12-12element-ui時(shí)間日期選擇器限制選擇范圍的幾種場(chǎng)景
這篇文章主要給大家介紹了關(guān)于element-ui時(shí)間日期選擇器限制選擇范圍的幾種場(chǎng)景,一般在實(shí)際開(kāi)發(fā)場(chǎng)景中我們需要對(duì)時(shí)間選擇做一些限制,如不能選擇今天之前的時(shí)間、不能選擇今天以后的日期、限制日期不能大于開(kāi)始日期等等,需要的朋友可以參考下2023-08-08