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

news/2025/1/18 12:32:52/

分别从四舍五入和是否自动补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…