js中控制小数点的显示位数的技术整理
来源:互联网 发布:javascript 编辑:程序博客网 时间:2024/06/07 02:22
js中控制小数点的显示位数的技术整理(文摘整理和个人经验)
js中自带方法控制小数点的显示位数
< script language = " JScript " >
Number.prototype.toFixed = function(num)
{
// 重新构造toFixed方法,IE5.0+
with(Math) this .NO = round( this .valueOf() * pow( 10 ,num)) / pow( 10 ,num);
return String( / /. / g.exec( this .NO) ? this .NO: this .NO + " . " + String(Math.pow( 10 ,num)).substr( 1 ,num));
}
alert(( 12.9299 ).toFixed( 2 ));
alert(( 12.9999 ).toFixed( 2 ));
</ script >
控制保留几位有效小数的js函数
//Code CreateBy abandonship 2007.03.12
function FormatAfterDotNumber( ValueString, nAfterDotNum )
{
var ValueString,nAfterDotNum ;
var resultStr,nTen;
ValueString = ""+ValueString+"";
strLen = ValueString.length;
dotPos = ValueString.indexOf(".",0);
if (dotPos == -1)
{
resultStr = ValueString+".";
for (i=0;i<nAfterDotNum ;i++)
{
resultStr = resultStr+"0";
}
return resultStr;
}
else
{
if ((strLen - dotPos - 1) >= nAfterDotNum ){
nAfter = dotPos + nAfterDotNum + 1;
nTen =1;
for(j=0;j<nAfterDotNum ;j++){
nTen = nTen*10;
}
resultStr = Math.round(parseFloat(ValueString)*nTen)/nTen;
return resultStr;
}
else{
resultStr = ValueString;
for (i=0;i<(nAfterDotNum - strLen + dotPos + 1);i++){
resultStr = resultStr+"0";
}
return resultStr;
}
}
}
应用时只需要FormatAfterDotNumber( ’数字字符串’, 保留小数位数 );
for example:
<html>
<head>
<SCRIPT LANGUAGE="JAVAscript">
<!--调用上面的函数 -->
</script>
</head>
<body>
<input type="text" name="strTemp">
<input type="button" onclick="alert( FormatAfterDotNumber( document.all. strTemp.value), 保留小数位)" >
</body>
</html>
一个替代js自带的toFixed函数的方法和优点
之前一直在用这个js自带的toFixed函数来进行四舍五入的操作,可是,在实际使用过程中却遇到了问题。
比如
- var money=0.00542;//0.006;
- alert(Number(money).toFixed(2));
- //0.00
可以看出上面的结果是错误的,下面的方法通过巧妙的使用Math.round函数,完全可以解决数值很小时的精度问题。
- var money=0.00542;//0.006;
- alert(Number(money).toFixed(2));
- function round2(number,fractionDigits){
- with(Math){
- return round(number*pow(10,fractionDigits))/pow(10,fractionDigits);
- }
- }
- alert(round2(money,2));//0.01
round 方法
返回与给出的数值表达式最接近的整数。
Math.round(number)
必选项 number 参数是要舍入到最接近整数的值。
说明
如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。
js保留小数位数的某人总结
一、问题的产生:
自己在编码时,在javascript中遇到了3.21*3=9.629999999999999的现象
二、百度一下
得到如下信息:
用Javascript取float型小数点后两位,例22.127456取成22.13,如何做?
1. 最笨的办法....... [我就怎么干的.........]
function get()
{
var s = 22.127456 + "";
var str = s.substring(0,s.indexOf(".") + 3);
alert(str);
}
2. 正则表达式效果不错
<script type="text/javascript">
onload = function(){
var a = "23.456322";
var aNew;
var re = /([0-9]+/.[0-9]{2})[0-9]*/;
aNew = a.replace(re,"$1");
alert(aNew);
}
</script>
3. 他就比较聪明了.....
<script>
var num=22.127456;
alert( Math.round(num*100)/100);
</script>
4.会用新鲜东西的朋友....... 但是需要 IE5.5+才支持。
<script>
var num=22.127456;
alert( num.toFixed(2));
</script>
三、总结后,自己写了个javascript多位数四舍五入的通用方法
//num表示要四舍五入的数,v表示要保留的小数位数。
function decimal(num,v)
{
var vv = Math.pow(10,v);
return Math.round(num*vv)/vv;
}
Math对象
属性
LN10 (10的自然对数)
PI (3.1415926...)
SQRT1_2 (1/2的平方根)
方法
abs(x) 返回x的绝对值
acos(x) 返回x的arc cosine值
asin(x) 返回x的arc sin值
atan(x) 返回x的arc tangent值
ceil(x) 返回大于等于x的最小整数
cos(x) 返回x的cosine值
exp(x) 返回e的x次方
floor(x) 返回小于等于x的最大整数
log(x) 返回x的
max(x,y) 返回x,y中的大值
min(x,y) 返回x,y中的小值
pow(x,y) 返回x的y次方
round(x) 舍入到最近整数,(小于或等于0.5小数舍去)
sin(x) 返回x的sin值
sqrt(x) 返回x的平方根
tan(x) 返回x的tangent值
- js中控制小数点的显示位数的技术整理
- js中控制小数点的显示位数的技术整理
- js自带的toFixed函数控制小数点的显示位数,来进行四舍五入的操作
- 控制小数点后的位数
- js判断小数点的位数
- MATLAB中控制输出格式中小数点后的位数
- JAVA中控制double类型小数点后位数的方法
- ASP.NET 中 GridView 数值列 小数点位数 的控制
- java编程中控制小数点后的位数
- JAVA中控制double类型小数点后位数的方法
- Java中控制double类型小数点后位数的方法
- java编程中怎么控制小数点后的位数?
- 控制DOUBLE,DECIMAL小数点的位数
- C++小数点及位数的控制
- java控制double输出的小数点位数
- Java控制double输出的小数点位数
- java控制double输出的小数点位数
- 关于C#中小数点都位数的控制(小数点后一位)
- android的手势识别例子
- 给MMT 产品类别(大)建立新的功能视图
- "基础提供程序在Open上失败"
- 在嵌入式Linux下GPRS上网方案
- #define A (* (volatile unsigned long *) 详解
- js中控制小数点的显示位数的技术整理
- 利用VC得到当前IE的Cookie
- php和mysql采用utf-8编码时实现按照一个文本字段的首字母的拼音顺序进行排序的方法
- BW增强数据源的处理
- 职业规划选择之二—行业选择要有内在连续性
- eTag
- asp.net图片裁减与缩小
- aspx生成HTML几个方法
- Flex拓扑图的设计(二)机房设计