string类型保留两位小数_js保留4位小数

string类型保留两位小数_js保留4位小数一Math.round(),Math.ceil(),Math.floor()的区别Math.round():根据“round”的字面意思“附近、周围”,可以猜测该函数是求一个附近的整数小数点后第一位<5正数:Math.round(11.46)=11负数:Math.round(-11.46)=-11小数点后第一位>5正数:Math.round(11.68)=12负数:Math.rou…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一 Math.round(),Math.ceil(),Math.floor()的区别

Math.round():根据“round”的字面意思“附近、周围”,可以猜测该函数是求一个附近的整数

小数点后第一位<5

正数:Math.round(11.46)=11

负数:Math.round(-11.46)=-11

小数点后第一位>5

正数:Math.round(11.68)=12

负数:Math.round(-11.68)=-12

小数点后第一位=5

正数:Math.round(11.5)=12

负数:Math.round(-11.5)=-11

总结:(小数点后第一位)大于五全部加,等于五正数加,小于五全不加

Math.ceil():根据“ceil”的字面意思“天花板”去理解;

Math.ceil(11.46)=Math.ceil(11.68)=Math.ceil(11.5)=12

Math.ceil(-11.46)=Math.ceil(-11.68)=Math.ceil(-11.5)=-11

总结:只要后边有小数都是向上取整

Math.floor():根据“floor”的字面意思“地板”去理解;

Math.floor(11.46)=Math.floor(11.68)=Math.floor(11.5)=11

Math.floor(-11.46)=Math.floor(-11.68)=Math.floor(-11.5)=-12

总结:只要是有小数,都是向下取证;

二 js保留两位小数总结

1四舍五入型的

var num =2.446242342;

//toFixed(要保留的小数点后边的位数)

num = num.toFixed(2); // 输出结果为 2.45 返回的值是一个字符串类型

2 不四舍五入型的

第一种,先把小数变整数:

Math.floor(15.7784514000 * 100) / 100 // 输出结果为 15.77

返回的是一个数字类型

第二种,当作字符串,使用正则匹配:

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

// 输出结果为 15.77,不能用于整数如 10 必须写为10.0000

返回的是一个数字类型

注意:如果是负数,请先转换为正数再计算,最后转回负数

三 Js取float型小数点后两位数的方法

1 处理会四舍五入

var num =2.446242342;

num = num.toFixed(2); // 输出结果为 2.45

//toFixed(要保留的小数点后边的位数)

此处的toFixed()函数取到的值是一个string类型,而不是一个number类型;

处理不会四舍五入

1 先把小数变整数

Math.floor(15.7784514000 * 100) / 100 // 输出结果为 15.77

此处的取到的值是一个number类型;

2当做字符串,使用正则匹配

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

// 输出结果为 15.77,不能用于整数如 10 必须写为10.0000

此处取到的值是一个number类型

注意:如果是负数,请先转为整数再计算,最后在转回负数;

保留两位小数

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

var num =2.446242342;

function toDecimal(x) {

var f = parseFloat(x);

if (isNaN(f)) {

return;

}

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

return f;

}

toDecimal(num)//调用方法

var nums=toDecimal(num) //调用函数方法后,他不会改变原来那个变量所拥有的值,而是从新

替换成一个新值;

console.log(typeof(nums));

此处获取到的值是一个number类型

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;

}

此处获取到的是一个string类型的值;

3 可选择要保留几位小数的方法

var num=2.446242342;

function fomatFloat(src,pos){ //src是要保留小数的值,pos是要保留几位小数;

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

}

var nums=fomatFloat(num,3)

console.log(nums);

console.log(typeof(nums));

此处获取到的是一个number类型的值;

4 精确到n位,不含n位

var num=2.446242342;

var nums=num.toPrecision(3);

console.log(nums);//2.45

console.log(typeof(nums));

此处获取到的是是一个String类型的值

5 只保留整数部分

var num=2.446242342;

var nums=parseInt(num);

console.log(nums);//2

console.log(typeof(nums));//number

6向上取整,有小数就整数部分加1

var num=2.446242342;

var nums=Math.ceil(num);

console.log(nums);//3

console.log(typeof(nums));//number

7四舍五入.

var num=2.446242342;

var nums=Math.round(num);

console.log(nums);//2

console.log(typeof(nums));//number

var num=2.6788667778;

var nums=Math.round(num);

console.log(nums);//3

console.log(typeof(nums));//number

8向下取整

var num=2.6788667778;

var nums=Math.floor(num)

console.log(nums);//2

console.log(typeof(nums));//number

9对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:changeTwoDecimal(3.1)

,将返回3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:

var num=2.1;

function changeTwoDecimal_f(x) {

var f_x = parseFloat(x);

if (isNaN(f_x)) {

alert(‘function:changeTwoDecimal->parameter error’);

return false;

}

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

var s_x = f_x.toString();

var pos_decimal = s_x.indexOf(‘.’);

if (pos_decimal < 0) {

pos_decimal = s_x.length;

s_x += ‘.’;

}

while (s_x.length <= pos_decimal + 2) {

s_x += ‘0’;

}

return s_x;

}

var nums=changeTwoDecimal_f(num);

console.log(nums);//2.10

console.log(typeof(nums));//string

功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,

这个函数返回的是字符串的格式用法:

changeTwoDecimal_f(3.1415926)返回3.14

changeTwoDecimal_f(3.1)返回3.10

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169367.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 金蝶K3数据库表名对应及表说明[通俗易懂]

    金蝶K3数据库表名对应及表说明[通俗易懂]金蝶K3数据库表名对应及表说明,金蝶报表开发必备

  • ASP.netMVC文件下载

    ASP.netMVC文件下载ASP.netMVC文件下载ASP.netMVC下载文件一般有几种方法第一种:超链接方法,直接指向目标文件地址;window.open(“”); 标签href=“”;第二种:后台下载,但后台下载又有三种方式;(1)返回filestreampublicFileStreamResultdownload(){stringfileName=””;//客户端保存的文件名stringfilePath=Server.MapPath(“”);//路径…

  • 图的数据结构_数据结构关于图的算法

    图的数据结构_数据结构关于图的算法图的定义和术语完全图:任意两个点都有一条边相连连通图(强连通图)连通分量(强连通分量)有向图和无向图的工程案例#include “pch.h”#include <iostream>using namespace std;//有向图 无向图 有向网 无向网enum GraphKing { DG, DN, UDG, UDN };//定义图…

  • tomcat各版本的区别

    tomcat各版本的区别tomcat各版本的区别

  • 给在读研究生&未来要读研同学们的一封受益匪浅的信

    给在读研究生&未来要读研同学们的一封受益匪浅的信读研首先要改变的是自己的心理状态,说起来简单,但实际上很困难。不过既然已经上了研,就不要抱怨了,努力想想自己该干啥才是王道。首先需要明确几种好的心态。(仅以此文使自己进步,时时规范自己的行为。谦虚使人进步,骄傲使人落后。)当你上课感觉就像打酱油时,当你对研究生很迷茫时,当你坐在电脑前孜孜不倦时,请看下面的文章,很受用,至少我心里现在没有以前浮躁。好的文章有时能改变一个人的精神状态,下面就是…

  • python用于表示逻辑非运算_python and运算符

    python用于表示逻辑非运算_python and运算符在看python的时候逻辑运算符没看懂。xandy布尔”与”-如果x为False,xandy返回x的值,否则返回y的计算值。(aandb)返回20就这一段话,看的我有点懵逼,然后我就去上网搜了别人的解说,然后写了一篇文章,供大家理解。先学习其他语言里的与或非。短路与(逻辑与)和非短路与。或也是如此,不在重复,接下来拿与举例子。一.短路与(逻辑与)和非短路与先来…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号