JavaScript中浮点数的保留小数位数的问题
方法一
简介:如题! 繁琐版。。。
代码如下:
var significantFigure= function(value,figure){
var arr=(value+'').split('.');//将拿到的值转换成字符串 然后用小数点进行切割
arr[0]=parseFloat(arr[0]);//将切割后的数组 第一个值转换成浮点值
arr[1]='0.'+arr[1]; //将切割后的数组的 第二个值转换成小数点形式的字符串
arr[1]=parseFloat(arr[1]).toPrecision(figure);//将数组第二个值转换成浮点值 按 要求的精确位数四舍五入【注:返回值是String类型】
//判断处理后的数组第一个值是否有. 有判断其长度,如果长度小于不够精确位数,加0---【注 字符串拼凑】
arr[1]+=(RegExp('[.]').test(value))?(arr[1].length==figure+1?'0':''):'.00';
//判断处理后的arr[1]中是否有1有1 则给arr[0]加1
arr[0]+=RegExp('^1').test(arr[1])?1:0;
//将处理后的arr[0]+arr[1]拼凑回value值
value=arr[0]+RegExp("[.]\\d{"+figure+"}").exec(arr[1]);
//返回value
return value;
};
//说明 1 该方法有两个参数,参数一 要保留那个浮点数,参数二 要保留的位数 。返回值:要保留的浮点数处理后的结果。要注意的是,返回值类型为 String类型
//说明 2 可将该段代码直接在自己的js文件中使用,也可以新建js文件然后添加引用!
//说明 3 用法:
var num1=123.798756;
var num2=significantFigure(num1,2)
alert(num2);//结果为 123.80
//测试值: 123.99657 , 213.9877... 为保证正确,可以自己再测试下
方法二
简介:一行代码搞定 !
2.1 调用NumberObject.toFixed(num)方法
num 必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。
返回值
返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。
可以用以上提供的测试数据测试!var str=123.99657; //213.9877 alert(str.toFixed(2)); 分别输出124.00 和213.99 【注 返回值为String类型】
JavaScript中浮点数的保留小数位数的问题的更多相关文章
- JavaScript中Float类型保留两位小数
JavaScript中Float类型保留两位小数 核心方法: num:要操作的数字 size:要保留的位数 parseFloat(num).toFixed(size); 实现代码如下:var ...
- java中double变量保留小数问题
(转载自玄影池扁舟) 做java项目的时候可能经常会遇到double类型变量保留小数的问题,下面便把我的经验做个简短的总结: java中double类型变量保留小数问题大体分两种情况: (一):小数点 ...
- C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现
在C#中大家都会遇到这种情况 double类型的数据,需要格式化(保留N未有效数字)或者是保留N为小数等情况,我们往往采取double.tostring("参数");的方法.下 ...
- java实验三——求平均数,数组排序(有关java保留小数位数,由于编译器版本未到1.5导致的报错format函数第二个参数不对,要求是Object[])
package hello; import java.util.Arrays; public class 实验三更正版 { public static void main(String[] args) ...
- 总结C#保留小数位数及百分号处理
方法一: ); 方法二: Math.Round() 方法三: double dbdata = 0.55555; string str1 = dbdata.ToString("f2" ...
- C#保留小数位数
1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo(); prov ...
- C#保留小数位数的方法
1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo();provi ...
- Java指定保留小数位数的方法
package com.qiyuan.util; import java.math.BigDecimal; import java.math.RoundingMode; import java.tex ...
- js取整,保留小数位数、四舍五入、科学记数法及去掉数字末尾多余的0
1.向下取整 var num1 = 12.10345; var num2 =12.9801; var newnum1=Math.floor(num1) //结果 12 var newnum2= ...
随机推荐
- The 2016 ACM-ICPC Asia China-Final Contest Promblem D
显然答案具有单调性,可以二分.问题是 我们二分出一个 堆数,该怎么判定能否达到这个堆数呢? 我们可以很简单的用调整法证明,最底下的一层的冰淇淋肯定是最小的那些,往上叠加的话我们再贪心的让较少的放在较小 ...
- c++ concurrency serial 1: introduction
platform: vs2012 Code#include <iostream> #include <thread> using namespace std; void Fun ...
- C#中toolStrip或statusStrip遮挡了SplitContainer怎么办?
如果在一个项目中先增添了SplitContainer,然后再添加的Toolbar或statusStrip,结果后者把前者上部或下部挡住了一条,造成界面别扭. 解决办法是右键点击Toolba或statu ...
- 解决chrome浏览器us-yahoo.com搜索劫持
一直用着greenchrome浏览器,结果有次之后,地址栏的默认搜索引擎用的bing,但是仍然会重定向到us-yahoo.com进行搜索,初起时以为是greenchrome插件作者的返利,类似2345 ...
- iOS开发UI篇—懒载入
iOS开发UI篇-懒载入 1.懒载入基本 懒载入--也称为延迟载入,即在须要的时候才载入(效率低,占用内存小).所谓懒载入,写的是其get方法. 注意:假设是懒载入的话则一定要注意先推断是否已经有了. ...
- 每日一支TED——帕特里夏·瑞安:不要固执于英语
瑞安讲述了她在科威特教学英语30年最大的 关于语言的一个感受:英语在迅速的在全世界传播,而其它的语言在逐渐的消失. 瑞安想要说的是.拥有一种国际性的语言,大家都能够理解,让全部人的 ...
- An unexpected error occured when contacting the server .
I logged into to the arcsight command center ,however I found an unexpected error occurred when cont ...
- Mysql启动自己主动设置max_connections为其它值
背景 有同学反应.产品连不上,登陆到server.发现连接数不够了. 接着先重新启动mysql,发如今mysql启动的时候会报Waring Warning Changed limits: max_op ...
- .Net Core表单定义
创建表单 <form asp-controller="Account" asp-action="Login" asp-route-returnurl=&q ...
- 目标检测之积分图---integral image 积分图2
前面在图像处理一栏中涉及到boxfilter 的时候,简单介绍过积分图,就是每个像素点是左边和上边的累加和,这样的话可以方便均值和方差,以及直方图统计的相关运算,这里再次结合网络资源重新单独对积分图做 ...