vue 保留两位小数
前言
有时候我们需要对各种数值进行保留位数,以便于更好的展示。
Html部分
template中这样使用,需要处理的字段名,再加上过滤器方法
<div class="text primary-text">
<span>合计:</span>
<span class="money">¥{{totalMoney | numFilter}}</span>
</div>
情况一:保留小数点后两位的过滤器,尾数四舍五入
filters: {
numFilter (value) {
// 截取当前数据到小数点后两位
let realVal = parseFloat(value).toFixed(2)
return realVal
}
}
情况二:保留小数点后两位的过滤器,尾数不四舍五入
当截取当前数据到小数点后四位,小数点第三位为数字9时,第四位会导致第三位进位的情况下,最终得到的数据不是截取
eg: 3.1798
而是会截取两位变成3.18
,代码已做优化处理。
首先在src目录下建立js文件,如:decimals.js,加入如下代码
/**
* 对源数据截取decimals位小数,不进行四舍五入
* @param {*} num 源数据
* @param {*} decimals 保留的小数位数
*/
export const cutOutNum = (num, decimals) => {
if (isNaN(num) || (!num && num !== 0)) {
return '--'
}
// 默认为保留的小数点后两位
let dec = decimals ? decimals : 2
let tempNum = Number(num)
let pointIndex = String(tempNum).indexOf('.') + 1 // 获取小数点的位置 + 1
let pointCount = pointIndex ? String(tempNum).length - pointIndex : 0 // 获取小数点后的个数(需要保证有小数位)
// 源数据为整数或者小数点后面小于decimals位的作补零处理
if (pointIndex === 0 || pointCount <= dec) {
let tempNumA = tempNum
if (pointIndex === 0) {
tempNumA = `${tempNumA}.`
for (let index = 0; index < dec - pointCount; index++) {
tempNumA = `${tempNumA}0`
}
} else {
for (let index = 0; index < dec - pointCount; index++) {
tempNumA = `${tempNumA}0`
}
}
return tempNumA
}
let realVal = ''
// 截取当前数据到小数点后decimals位
realVal = `${String(tempNum).split('.')[0]}.${String(tempNum)
.split('.')[1]
.substring(0, dec)}`
// 判断截取之后数据的数值是否为0
if (realVal == 0) {
realVal = 0
}
return realVal
}
在你需要使用的vue文件中,引入
import { cutOutNum } from '@/utils/decimals'
在过滤器中使用
filters: {
cutOutNums(num) {
return cutOutNum(num, 5)
},
},
原文链接:https://blog.csdn.net/qq_42127308/article/details/80388398
vue 保留两位小数的更多相关文章
- vue 保留两位小数 不能直接用toFixed(2) ?
用vue做项目的时候多多少少都会遇到这个问题 刚开始我是用toFixed()这个方法来写的 效果是有的 但是控制台一直是红红的围绕着我 突然想到 vue和jquery混搭 的 问题 于是乎 看了一下 ...
- 公共的强制保留两位小数的js方法
强制保留两位小数的js方法 //写一个公共的强制保留两位小数的js方法 function toDecimal2 (x) { var f = parseFloat(x) if (isNaN(f)) { ...
- java使double保留两位小数的多方法 java保留两位小数
这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat d ...
- js保留两位小数
js保留两位小数四舍五入: (Math.floor(until_price*100)/100).toFixed(2);//会四舍五入 保留两位小数 且不四舍五入(三种方式,请用最后一种): var ...
- JS限制input输入的为数字并且有小数的时候最多保留两位小数
JS限制input用户输入的为数字并且有小数的时候最多保留两位小数,代码如下: html部分: <input type="number" onkeypress="r ...
- 字符串怎么换行 || 字符串中使用单引号时应该怎么写 || 保留两位小数 || 数字0在if中的意思是false || 什么情况下会会报undefined || null和undefined的区别 ||
换行的字符串 "This string\nhas two lines" 字符串中使用单引号时应该怎么写 'You\'re right, it can\'t be a quote' ...
- Double 数据保留两位小数一:五舍六入
package com; public class T2 { public static void main(String[] args) { System.out.println(calculate ...
- Double 数据保留两位小数二:直接截取小数后面两位,不进行四舍五入
package com; public class T2 { public static void main(String[] args) { System.out.println(calculate ...
- java保留两位小数
java保留两位小数问题: 方式一: 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); d ...
- Java保留两位小数的几种做法
1. String类型数字始终保留两位小数 , RoundingMode.HALF_UP); return bd.toString(); } /** * 使用DecimalFormat,保留小数点后 ...
随机推荐
- Qt编写安防视频监控系统67-跨平台及国产系统
一.前言 得益于Qt的超强跨平台特性,本系统也是跨平台的,亲测的系统包括windows全系列.ubuntu全系列.centeos.国产系统UOS.国产系统银河麒麟.中标麒麟.嵌入式linux.树莓派. ...
- C# 读取本地的TXT文件内容
using (StreamReader streamReader = new StreamReader("C:\\Users\\zhang\\Desktop\\新建文件夹\\远程开关.txt ...
- biancheng-Pygame(python)
http://c.biancheng.net/pygame/ Python Pygame 是一款专门为开发和设计 2D 电子游戏而生的软件包,它支 Windows.Linux.Mac OS 等操作系统 ...
- w3cschool-Apache Kafka 教程
参考https://www.w3cschool.cn/apache_kafka/ Apache Kafka 基础 2021-07-27 16:23 更新 对于大数据,我们要考虑的问题有很多,首先海量数 ...
- MongoDB:文档基本CRUD
- Kotlin:【异常处理】自定义异常、先决条件函数
- android studio编译flutter项目
1创建flutter项目:如下图 2选择 flutter application 3 出现flutter SDK没有发现:但是自己又是安装了的 如果,忘记自己flutter安装在哪里的同学. 可以先找 ...
- SQL SERVER日常运维(一)
以下语句请使用SA用户或者有DBA权限的用户进行执行,否则可能会出现权限不足报错 一.基础命令 查看当前数据库的版本 SELECT @@VERSION; 查看服务器部分特殊信息 select SERV ...
- Flume概念和启动过程分析
一.概念 flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume系统中核心的角色是agent,agent本身是一个Java进程,一般运行在日志收集节点. 一个agent内 ...
- 7. Docker 容器数据卷的使用(超详细的讲解说明)
7. Docker 容器数据卷的使用(超详细的讲解说明) @ 目录 7. Docker 容器数据卷的使用(超详细的讲解说明) 1. Docker容器数据卷概述 2. Docker 容器数据卷的使用演示 ...