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)


相关推荐

  • redis 清除缓存

    redis 清除缓存

    2021年10月16日
  • linux nginx配置代理_nginx四层负载均衡

    linux nginx配置代理_nginx四层负载均衡3.2下载正向代理模块(这个模块可能不适合其他版本nginx)如果下载失败可用百度云:链接:提取码:下载解压nginxPS:编译,除正向代理模块外,其他看自己需求安装PS:3.4nginx.conf配置正向代理3.5启动nginx检查配置文件启动、停止、重载命令查看端口四、验证4.1202上面配置正向代理4.2对比202和203分别访问https和http##########################################

  • NC65 自由报表开发「建议收藏」

    NC65 自由报表开发「建议收藏」动态建模平台—->报表平台如果找不到?则登录账套管理员分配集团管理员的权限可参考下面链接https://blog.csdn.net/qq_19004705/article/details/119889910概述自由报表:是可利用报表分析工具设计出固定格式的、具有强大分析功能的分析型报表,可对报表数据进行各种自由分析。提供对数据集的复杂分析类设计功能,得到可适应企业决策人员使用的分析型报表及报表数据;同时也提供对已存在业务系统数据、采集报表数据,通过数据集进行随意组合查..

  • 带通滤波器的主要功能和作用_带通滤波器的作用是什么

    带通滤波器的主要功能和作用_带通滤波器的作用是什么带通滤波器的工作原理与应用带通滤波器可以理解成为一个电子接口单元,这个单元可以将特定频率范围内的信号传输过去,而阻断这个频率范围以外的信号,达到选择性传输的目的。与此对应,滤波器可以分为低通滤波器,即某频率以下的信号可以传输过去。高通滤波器和带阻滤波器。这些功能都是通过特定电子原件按照不同的布置实现的。比如电容串联可以阻止低频率信号,导通高频率信号。而并联一个电容就可以实现将高频信号短路的功能。又…

  • BeanUtils.populate方法的作用

    BeanUtils.populate方法的作用一般来说,这个方法是在org.apache.commons.beanutils.BeanUtils包中的方法。该方法的函数原型为:BeanUtils.populate(Objectbean,Mapproperties)。这个方法会遍历map&lt;key,value&gt;中的key,如果bean中有这个属性,就把这个key对应的value值赋给bean的属性。具体使用方法,见…

  • 最长回文子串(Longest Palindromic Substring)——三种时间复杂度的解法「建议收藏」

    最长回文子串(Longest Palindromic Substring)——三种时间复杂度的解法「建议收藏」  子串:小于等于原字符串长度由原字符串中任意个连续字符组成的子序列  回文:关于中间字符对称的文法,即“aba”(单核)、“cabbac”(双核)等  最长回文子串:1.寻找回文子串;2.该子串是回文子串中长度最长的。一、O(n^3)时间复杂度方法——暴力求解1.思想:    1)从最长的子串开始,遍历所有该原字符串的子串;    2)每找出一个字符串,就判断该字符串是否为回文;  …

发表回复

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

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