(05)VUE/JS 保留小数方法合集 (保留两位为例)

news/2024/2/28 17:58:07

分别从四舍五入和是否自动补0这两个方面进行入手。

会四舍五入

1、toFixed()函数
注意:此方法将数值类型的数据改变成了字符串类型

// 四舍五入
var num = 1.6492;
num = num.toFixed(2);
console.log(num);            //1.65
console.log(typeof num);     //string

不会四舍五入

1.Math.floor()和Math.ceil()函数
注意:此方法不改变数据类型

var number = 1.7332;
var Test1 = Math.floor(number * 100) / 100;//保留两位小数,
var Test2 = Math.ceil(number * 100) / 100;//保留两位小数console.dir(Test1);        //1.73
console.dir(typeof(Test1)); // numberconsole.dir(Test2);        //1.74
console.dir(typeof(Test2)); // number

2、字符串匹配
注意:此方法先将数据转换为字符串,最后再转为数值类型,不会四舍五入,字符串匹配再转换

var num = 1.6492;// 写法一:
num = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));
console.log(num);           //1.64
console.log(typeof num);    // number// 写法二:
let a = 12.12345678
let b = a.toString()
let c = b.substring(0, b.indexOf('.') + 3) * 1
console.log(c) //12.12

其中【字符串匹配法】好于【Math.floor()】,因为字符串能保证高精度,不受js浮点数长度的约束,同时在动态修改保留位数时更有优势.

3、parseInt()函数
注意:此方法不改变数据类型

var number = 0.99996;
var Test1 = parseInt(number * 100) / 100;//保留两位小数,console.dir(Test1);        //0.99
console.dir(typeof(Test1)); // number

但是,当小数位只有一位或者两位都为0的情况下,则只会保留整数。

var number = 0.900006;
var Test1 = parseInt(number * 100) / 100;//保留两位小数,console.dir(Test1);        //0.9
console.dir(typeof(Test1)); // number

保留两位小数,若第二位小数为0,则补0(不四舍五入)

方法一:parseInt()和toFixed()

var number = 0.900006;
var Test1 = (parseInt(number * 100) / 100).toFixed(2);//保留两位小数,console.dir(Test1);        //0.90
console.dir(typeof(Test1)); // number

方法二:Math.floor()与toFixed()

var number = 0.900006;
var Test1 = (Math.floor(number * 100) / 100).toFixed(2);//保留两位小数,console.dir(Test1);        //0.90
console.dir(typeof(Test1)); // number

保留两位小数,若第二位小数为0,则补0(四舍五入)

注意:数据类型变为字符串类型

function keepTwoDecimalFull(num) {  var result = parseFloat(num);  if (isNaN(result)) {  alert('传递参数错误,请检查!');  return false;  }  result = Math.round(num * 100) / 100;  var s_x = result.toString(); //将数字转换为字符串var pos_decimal = s_x.indexOf('.'); //小数点的索引值// 当整数时,pos_decimal=-1 自动补0  if (pos_decimal < 0) {  pos_decimal = s_x.length;  s_x += '.';  }// 当数字的长度< 小数点索引+2时,补0  while (s_x.length <= pos_decimal + 2) {  s_x += '0';  }  return s_x;  
}  console.log(keepTwoDecimalFull(1.6042)); //1.60
console.log(typeof keepTwoDecimalFull(1.6042)); //string

保留两位小数,若第二位小数为0,则保留一位小数)(不四舍五入)用Math.floor()方法

保留两位小数,若第二位小数为0,则保留一位小数)(四舍五入)

注意:数据类型不变

var num = 1.6042;
function keepTwoDecimal(num) {var result = parseFloat(num);if (isNaN(result)) {alert('传递参数错误,请检查!');return false;}result = Math.round(num * 100) / 100;return result;
};keepTwoDecimal(num);
console.log(keepTwoDecimal(num));            //1.6
console.log(typeof num);     //number

http://www.ppmy.cn/news/21254.html

相关文章

【Linux】操作系统(Operator System)

目录 一、操作系统是什么 1、操作系统概念 2、操作系统的定位 3、设计OS的目的 4、操作系统的重要性 二、 理解操作系统 三、系统调用 系统调用和库函数的关系 一、操作系统是什么 1、操作系统概念 任何计算机系统都包含一个基本的程序集合&#xff0c;称为操作系统…

【机器学习算法】模型评估 “神经网络,聚类,向量机,关联规则”算法模型的评估。

模型评估* 数据集的切割 训练-测试数据的方式、交叉验证的方式 我们通常会把数据集切割为训练数据集或者测试数据集&#xff0c;训练数据集用来训练模型用&#xff0c;测试数据集我们一般用来测试模式的实际效能怎么样。 我们在将数据分为训练和测试数据集的时候我们会使用…

Linux系统之升级内核版本方法

Linux系统之升级内核版本方法一、检查本地系统环境1.检查系统版本2.检查系统内核版本二、小版本升级内核1.列出yum仓库的内核包版本2.升级内核3.重启并检查内核版本三、大版本升级内核1.导入公钥2.下载并安装elrepo仓库3.载入elrepo-kernel元数据4.列出rpm包5.安装最新版本kern…

多线程为什么要加锁

一、线程之间私有和共享的资源 1、私有: 线程栈、寄存器、程序寄存器 2、共享: 堆、地址空间、全局变量、静态变量 二、线程读、写内存数据过程 1、读 1&#xff09;将内存内容复制到CPU寄存器。load 2、写 1&#xff09;将内存内容复制到CPU寄存器。load 2&#xff09;在…

dataworks插入,分组,排序,关联语句

– 向表中插入数据 – insert into/overwrite table 表名 values (…),(…),…; – insert into/overwrite table 表名 select …; – 创建样例表 create table if not exists temp_test_xsxx_30( xh string comment ‘学号’, xm string comment ‘姓名’, xb string comment…

[算法设计与分析考点3] 递归经典案例之汉诺塔问题

文章目录 印度的古老传说 问题描述 解题思路 递归实现 印度的古老传说 在世界中心贝拿勒斯&#xff08;在印度北部&#xff09;的圣庙里&#xff0c;一块黄铜板上插着三根宝石针。 印度教的主神梵天在创造世界的时候&#xff0c;在其中一根针上从下到上地穿好了由大到小的64片…

Linux服务器怎么设置iptables防火墙?

当今&#xff0c;为避免香港服务器及其端口受到恶意入侵&#xff0c;保障香港服务器的安全&#xff0c;配置Linux服务器防火墙的重要性不言而喻。恒创科技将向您介绍如何在 CentOS、Ubuntu 和 Debian 服务器中安装和配置 iptables防火墙。iptables是一个简单的防火墙&#xff0…

【GNN报告】GNN-LOGS部分报告汇总

Bastain Rieck: Topology-Based Graph Representation Learning 基础 拓扑学习 基于拓扑学习的工作 参考 Bastain Rieck: Topology-Based Graph Representation Learning_哔哩哔哩_bilibili Chaitanya K. Joshi Graph Neural Networks for Geometric Graphs 背景 方法 Geom…

STC15系列PWM中断控制寄存器介绍以及PWM相关示例

STC15系列PWM中断控制寄存器介绍以及PWM呼吸灯代码实现&#x1f4cc;相关篇《STC15系列PWM功能相关功能寄存器介绍》✨以下数据来源于stc15手册。 &#x1f4d3;增强型PWM波形发生器的中断控制 1.PWM中断优先级控制寄存器:IP2 PPWMFD:PWM异常检测中断优先级控制位。 当PPWMFD…

lamp的简单搭建 小白笔记

笔记是观看哔哩哔哩视频所写。链接如下&#xff1a;经典LAMP架构-跟着老王学Linux_哔哩哔哩_bilibili笔记有多处不妥之处&#xff0c;本是自己写笔记加深印象&#xff0c;仅供参考。所用linux系统是CentOS7。注意&#xff1a;该笔记操作后的网站仅主机内的局域网可以访问&#…

使用字典快速获取唯一值与重复值【单个字典对象】

在以前的博客《使用字典快速获取唯一值与重复值&#xff08;交集与并集&#xff09;》使用多个字典对象获取交集与并集&#xff0c;最近有同学提问&#xff0c;是否可以只使用一个字典对象实现相同的功能&#xff0c;对于有“编程洁癖”的同学来说&#xff0c;可能不喜欢使用多…

Redis相关面试题

文章目录说一下 Redis 有什么特点&#xff1f;说一下 Redis 都有什么数据类型&#xff1f;说一下 Redis 的常用命令。关于 Redis 的回收策略&#xff0c;过期机制的相关问题Redis 缓存怎么与数据库数据保持一致&#xff1f; &#xff08;缓存与数据双写一致&#xff09;Redis 负…

Spark做TPC-DS性能测试

背景 最近由于在做上云的工作&#xff0c;并且公司离线部分引擎是Spark&#xff0c;所以做了一次基于TPC-DS性能比对测试。 云上和云下的机器主要不同如下: 不同点云上云下存储OSSHDFS机器CPUIntel Xeon Platinum 8269CY CPU 2.50GHzIntel Xeon Gold 6226 CPU 2.70GHz TPC-…

[Android开发练习3] 四季图的切换

前言 本题主要涉及到使用帧式布局&#xff0c;以及如何为组件设置点击的事件响应&#xff0c;包括获取事件源&#xff0c;设置事件监听器&#xff0c;在Activity文件中书写一般的业务逻辑代码。 文章目录 布局代码 text3_season.xml&#xff08;layout&#xff09; style.xm…

【堆的认识及其优先级队列】java代码实现,保姆级教程学习堆和优先级队列

前言&#xff1a; 大家好&#xff0c;我是良辰丫&#x1f49e;&#x1f49e;⛽&#xff0c;我们又见面了&#xff0c;前面我们讲了用链表实现的二叉树&#xff0c;今天我们来接触堆的概念&#xff0c;堆是一种特殊的二叉树&#xff0c;只不过咱们的对底层原理是数组&#xff0c…

130道python练习题 完整版PDF

今天跟大家分享一些干货&#xff0c;在学python的朋友可以动起来了&#xff01; python基础知识练习题&#xff0c;常见常用的&#xff0c;可以作为参考&#xff0c;挺不错的&#xff0c;也有许许多多的讲解&#xff0c;适合python巩固基础知识和入门 130道练习题&#xff0c…

现在什么款式运动无线耳机好、最适合运动的无线蓝牙耳机推荐

随着经济越来越好&#xff0c;人们的生活质量提高&#xff0c;我们对健康也是更加重视了。越来越多人开始“动起来”。健康运动&#xff0c;自然少不了专业的运动耳机。一副适合的运动耳机对我们锻炼身体有着事半功倍的作用&#xff0c;那么有哪些品牌值得推荐呢&#xff1f;小…

【LeetCode每日一题】【2023/1/27】2309. 兼具大小写的最好英文字母

文章目录2309. 兼具大小写的最好英文字母方法1&#xff1a;哈希表2309. 兼具大小写的最好英文字母 LeetCode: 2309. 兼具大小写的最好英文字母 简单\color{#00AF9B}{简单}简单 给你一个由英文字母组成的字符串 s &#xff0c;请你找出并返回 s 中的 最好 英文字母。返回的字母…

docker中elasticsearch和kibana操作

elasticsearchdocker pull elasticsearch:8.4.0#笔记 9200 用于所有通过HTTP协议进行的API调用&#xff0c;客户端和服务端的通信端口&#xff0c;9300 用于集群中各节点之间的通信#启动镜像docker run -d --namees -p 9200:9200 -p 9300:9300 -e JVM_XMS128m -e JVM_XMX512m -…

Actionchains在selenium中的使用方法

今天分享一下selenium最常用的ActionChains的使用&#xff0c;以及碰到的一些问题的解决。 1.selenium解决鼠标悬停的问题 今天抓取某个平台的数据时发现有的数据需要鼠标悬停在上面才能加载出来&#xff0c;于是就想到了使用ActionChains解决悬停的问题&#xff0c;下面是思…
最新文章