js string转两位小数_js保留两位小数的函数有哪些

js保留两位小数的函数有:1、【toFixed()】函数;2、【Math.floor()】函数不四舍五入 ,向下取整;3、使用字符串匹配方法;4、四舍五入保留2位小数;5、浮点数保留两位小数。

js保留两位小数的函数有:

一、四舍五入相关

1、toFixed()方法

需注意,保留两位小数,将数值类型的数据改变成了字符串类型// 1.四舍五入

var num =2.446242342;

num = num.toFixed(2);

console.log(num); //2.45

console.log(typeof num); // string

2、Math.floor(),不四舍五入 ,向下取整

注意,不改变数据类型// 2.不四舍五入 向下取整

num = Math.floor(num * 100) / 100;

console.log(num); //2.44

console.log(typeof num); // number

3、字符串匹配

注意,先将数据转换为字符串,最后再转为数值类型// 3.不四舍五入 字符串匹配再转换

num = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));

console.log(num); //2.44

console.log(typeof num); // number

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

注意,数据类型不变//4.四舍五入保留2位小数(若第二位小数为0,则保留一位小数)

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(num); //2.44

console.log(typeof num); //number

5、四舍五入保留2位小数(不够位数,则用0替补)

注意,数据类型变为字符串类型//5.四舍五入保留2位小数(不够位数,则用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(120.5)); //120.50

console.log(typeof keepTwoDecimalFull(120.5)); //string

console.log(keepTwoDecimalFull(2.446242342)); //2.45

console.log(typeof keepTwoDecimalFull(2.446242342)); //string

二、浮点数保留两位小数

1、将浮点数四舍五入,取小数点后2位

注意,数据类型不变//浮点数保留两位小数

//1.功能:将浮点数四舍五入,取小数点后2位

function toDecimal(x) {

var f = parseFloat(x);

if (isNaN(f)) {

return;

}

f = Math.round(x*100)/100;

return f;

}

console.log(toDecimal(3.1465926)); // 3.15

console.log(typeof toDecimal(3.1415926)); //number

2、强制保留2位小数,如:2,会在2后面补上00.即2.00

注意,数据类型变为字符串类型//2.强制保留2位小数,如:2,会在2后面补上00.即2.00

function toDecimal2(x) {

var f = parseFloat(x);

if (isNaN(f)) {

return false;

}

var f = Math.round(x*100)/100;

var s = f.toString();

var rs = s.indexOf('.');

if (rs < 0) {

rs = s.length;

s += '.';

}

while (s.length <= rs + 2) {

s += '0';

}

return s;

}

console.log(toDecimal2(3.1)); // 3.10

console.log(typeof toDecimal2(3.1415926)); //string

3、保留两位小数 浮点数四舍五入 位数不够 不补0

注意,数据类型不变// 3.保留两位小数 浮点数四舍五入 位数不够 不补0

function fomatFloat(src,pos){

return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);

}

console.log(fomatFloat(3.12645,2)); // 3.13

console.log(typeof fomatFloat(3.1415926)); //numbe更多相关免费学习推荐:javascript视频教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

golang基础学习笔记

golang基础学习golang1. 认识golang和goland使用1.1 goland插件2. 数据类型2.1 结构体3. 流程控制ifswitchselectforrangeGoto、Break、Continue4. 函数4.1 匿名函数4.2 闭包、递归4.3 延迟调用什么是deferdefer的常见用途释放已经获取的资源从panic中恢复延迟闭包参数即时求值…

lamda获取参数集合去空_(转)Java8使用lambda表达式进行集合的遍历

本文转自我们经常会用到各种集合&#xff0c;数字的&#xff0c;字符串的还有对象的。它们无处不在&#xff0c;哪怕操作集合的代码要能稍微优化一点&#xff0c;都能让代码清晰很多。在这章中&#xff0c;我们探索下如何使用lambda表达式来操作集合。我们用它来遍历集合&#…

git@github.com:Permission denied(publickey).fatal: Could not read form remote repository错误

文章目录前言问题分析解决方法配置客户端配置服务端验证前言 在使用goland从github下载依赖时(git clone github.com/gin-gonic/gin)出现gitgithub.com:Permission denied(publickey).fatal: Could not read form remote repository错误。 问题分析 Permission denied(publi…

go出现missing go.sum entry for module providing package 错误

文章目录前言问题分析解决方法前言 从github下载了别人的代码后直接执行&#xff0c;报missing go.sum entry for module providing package错误 问题分析 代码中使用了第三方库&#xff0c;但是go.mod并没有跟着更新 解决方法 在项目目录下打开终端&#xff0c;执行go mo…

的计时器设置_如何选择最适合自己的计时器?

本文作者是Ultraman&#xff0c;他为了找到最适合自己的计时方法&#xff0c;试验了十多种计时器或者沙漏&#xff0c;总结出了非常棒的经验&#xff01;相信本文一定会对你有所帮助。 ——李长太大家对番茄工作法一定已经不陌生了&#xff0c;那么进行番茄工作法的时候&#x…

npm install报错 npm ERR,code ERESOLVE npm ERR,ERESOLVE unable to resolve dependency tree

文章目录前言问题分析解决方法转载于前言 在下载npm时报错npm ERR! code ERESOLVE npm ERR! ERESOLEVE unable to resolve dependency tree 问题分析 我的npm版本为8.x&#xff0c;npm6.x之后的版本更加严格了&#xff0c;所以会报错 解决方法 方法1&#xff0c;降级到np…

go的time.Time格式相关转换

文章目录time.Time 转 字符串time.Time 转 时间戳时间戳 转 time.Time时间戳 转 日期字符串日期字符串 转 time日期字符串 转 时间戳其他日期字符串yyyy-MM-dd转换为日期字符串yyyyMMddtime.Time 转 字符串 t.Format("2010-12-06") t.Format("2010-12-06 12:01…

go TypeError: Failed to execute ‘fetch‘ on ‘Window‘: Request with GET/HEAD method cannot have body.

文章目录前言问题分析解决方法前言 使用swagger测试一个Get路由时&#xff0c;想要传入form-data数据时报错TypeError: Failed to execute ‘fetch‘ on ‘Window‘: Request with GET/HEAD method cannot have body. 问题分析 GET把参数包含在URL中 POST把通过request body…

卡顿严重_微软Win 10游戏模式致《使命召唤:战区》等游戏出现严重卡顿现象

IT之家5月8日消息 据Windowslatest报道&#xff0c;有部分用户报告称Windows 10游戏模式可能对某些硬件的游戏性能产生负面影响。一位用户表示&#xff0c;启用游戏模式后&#xff0c;搭载Radeon RX 5700 XT、RX 480、R9 290等AMD显卡设备以及GTX 980和GTX 1080 Ti等Nvidia显卡…

gin的Bindxxx和ShouldBindxxx的区别

区别 Bindxxx&#xff1a;解析错误会在head中添加400的返回信息 ShouldBindxxx&#xff1a;解析错误直接返回&#xff0c;返回什么错误状态码由自己决定。

非知识类资源分享

文章目录好用的电脑软件好用的电脑软件 Quicker&#xff1a;windows上的一个工具箱软件&#xff0c;内置了电脑常用操作&#xff0c;一键完成需要多个步骤的工作。还可以通过Quicker的动作库安装别人分享的动作。推荐Smart Var码农的变量名动作&#xff0c;可以将中文直接转换…

MySQL的MVCC是什么

文章目录MVCC是什么MVCC的作用MVCC的实现原理Read View是什么Read View如何判断某个版本可以访问MVCC是什么 MVCC(Multiversion concurrency control)是同一行数据保留多版本的一种方式&#xff0c;进而实现并发控制。 在查询时&#xff0c;通过read view和版本链找到对应版本…

go中make、new和直接var的区别

文章目录直接varmakenew小结直接var func main(){var sli []intfmt.Println(sli) // 打印结果为&#xff1a;[]fmt.Println(len(sli)) // 打印结果为&#xff1a;0fmt.Println(cap(sli)) // 打印结果为&#xff1a;0fmt.Println(sli[0]) // panic: index out of…

[Redis] Redis穿透、雪崩和击穿

穿透 定义&#xff1a; 穿透是指请求的数据在Redis缓存中和数据库中都没有&#xff0c;所以数据库返回了一个空数据&#xff0c;Redis也不会进行缓存&#xff0c;每次请求的数据都会查询数据库。 解决方法&#xff1a; Redis对数据库返回的空数据也进行缓存&#xff0c;并设置…

[Redis] Redis几种部署方式

单机 优点&#xff1a; 部署简单 缺点&#xff1a; 性能受限于单台服务器性能&#xff0c;难以横向拓展&#xff0c;容灾能力差 主从同步 是什么&#xff1a; 主从同步即一个master节点&#xff0c;多个slave节点且slave节点也可拥有slave节点 主从同步的方式有两种&#xff…

论述类文本知识框架_高考语文“论述类文本阅读”:三步走,拿满分

【原创首发】新的学期开始了。高三的定位考试也结束了。成绩下来了&#xff0c;有的同学拿着卷子找着我&#xff1a;“老师&#xff0c;你看看&#xff0c;我第一道大题三道错了两道&#xff0c;咋办呀&#xff1f;”高考语文试卷的第一大道试题”论述类文本阅读“这道题&#…

mysql php ajax_PHP 和 AJAX MySQL 数据库实例

HTML 表单上面的例子包含了一个简单的 HTML 表单&#xff0c;以及指向 JavaScript 的链接&#xff1a;Select a User:Peter GriffinLois GriffinGlenn QuagmireJoseph SwansonUser info will be listed here.例子解释 - HTML 表单正如融金汇银讲到的&#xff0c;它仅仅是一个简…

mysql 5.1升级5.6_mysql 5.1.71升级到5.6.30

mysql 5.1.71升级到5.6.30mysqldump-h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 >文件名.sql备份MySQL数据库的命令mysqldump-hhostname -uusername -ppassword databasename >backupfile.sql备份MySQL数据库为带删除表的格式&#xff0c;能够让该备份覆盖已…

mysql时间段以后_mysql时间段查询

字段column_time的格式为时间格式from_unixtime将时间戳转换为时间格式 *做个记号&#xff0c;之前纠结了半天select * from wap_content where week(column_time) week(now)如果你要严格要求是某一年的&#xff0c;那可以这样查询一天&#xff1a;select * from table where …

mysql数据自定义随机_Mysql 自定义随机字符串

前几天在开发一个系统&#xff0c;需要用到随机字符串&#xff0c;但是mysql的库函数有没有直接提供&#xff0c;就简单的利用现有的函数东拼西凑出随机字符串来.下面简单的说下实现当时.1.简单粗暴.select ..., substring(MD5(RAND()),floor(RAND()*26)1,6) as rand_str .....…