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= ...
随机推荐
- 轻量级Web渗透测试工具jSQL
轻量级Web渗透测试工具jSQL jSQL是Kali集成的一款轻量级的Web渗透测试工具.最初该工具主要实施SQL注入,后来增加更多的功能,扩展形成一个综合性的Web渗透测试工具.Kali提供的版本较 ...
- SQLite的sqlite_sequence表
SQLite的sqlite_sequence表 sqlite_sequence表也是SQLite的系统表.该表用来保存其他表的RowID的最大值.数据库被创建时,sqlite_sequence表会 ...
- 第4章 使用 Spring Boot
使用 Spring Boot 本部分将详细介绍如何使用Spring Boot. 这部分涵盖诸如构建系统,自动配置以及如何运行应用程序等主题. 我们还介绍了一些Spring Boot的最佳实践(best ...
- Linux下挂载指定分区下的某个文件夹到指定目录(mount)
# 挂载 mount --bind olddir newdir # 卸载 umount newdir 参考: http://www.cnblogs.com/dabaopku/archive/2010/ ...
- JavaScript的变量:变量提升
JavaScript代码的运行规则 在JavaScript代码运行之前其实是有一个编译阶段的.编译之后才是从上到下,一行一行解释执行.这样一来也给初学者造成很大的误解.初学者会觉得JavaScript ...
- python(26)- 面向对象补充Ⅱ
一 isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)判断obj是否是类 cls 的对象 class Foo(object): ...
- JS中Float类型加减乘除 修复 JQ 操作 radio、checkbox 、select LINQ to SQL:Where、Select/Distinct LINQ to SQL Count/Sum/Min/Max/Avg Join
JS中Float类型加减乘除 修复 MXS&Vincene ─╄OvЁ &0000027─╄OvЁ MXS&Vincene MXS&Vincene ─╄Ov ...
- bluedroid源代码分析之ACL包发送和接收(一)
很多其它内容请參照我的个人网站: http://stackvoid.com/ ACL 链路在 Bluetooth 中很重要,一些重要的应用如 A2DP, 基于 RFCOMM 的应用,BNEP等都要建立 ...
- 2016最新手机号码正则、身份证JS正则表达式
js最新手机号码.身份证正则表达式 身份证正则: //身份证正则表达式(15位) isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1] ...
- 压力测试工具ab,wrk,locust简介
ab 无疑是目前最常见的压力测试工具.其典型用法如下: shell> ab -k -c 100 -t 10 http://domain/path 其中,参数「c」表示的是并发, 参数「t」表示的 ...