js保留小数.docx_第1页
js保留小数.docx_第2页
js保留小数.docx_第3页
js保留小数.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/保留两位小数 /功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) var f = parseFloat(x); if (isNaN(f) return; f = Math.round(x*100)/100; return f; /制保留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; function fomatFloat(src,pos) return Math.round(src*Math.pow(10, pos)/Math.pow(10, pos); /四舍五入 alert(保留2位小数: + toDecimal(3.14159267); alert(强制保留2位小数: + toDecimal2(3.14159267); alert(保留2位小数: + toDecimal(3.14559267); alert(强制保留2位小数: + toDecimal2(3.15159267); alert(保留2位小数: + fomatFloat(3.14559267, 2); alert(保留1位小数: + fomatFloat(3.15159267, 1); /五舍六入 alert(保留2位小数: + 1000.003.toFixed(2); alert(保留1位小数: + 1000.08.toFixed(1); alert(保留1位小数: + 1000.04.toFixed(1); alert(保留1位小数: + 1000.05.toFixed(1); /科学计数 alert(3.1415.toExponential(2); alert(3.1455.toExponential(2); alert(3.1445.toExponential(2); alert(3.1465.toExponential(2); alert(3.1665.toExponential(1); /精确到n位,不含n位 alert(精确到小数点第2位 + 3.1415.toPrecision(2); alert(精确到小数点第3位 + 3.1465.toPrecision(3); alert(精确到小数点第2位 + 3.1415.toPrecision(2); alert(精确到小数点第2位 + 3.1455.toPrecision(2); alert(精确到小数点第5位 + 3.141592679287.toPrecision(5); Js 保存小数点后两位今天用Ext的时候遇到了一个麻烦,两个数相除之后后边浮点数很多,可是只想要2位。网上求教了一下,整理出一个小的方法,希望帮到有需要的朋友;1,js保留2位小数changeTwoDecimal= function changeTwoDecimal(floatvar)var f_x = parseFloat(floatvar);if (isNaN(f_x)alert(function:changeTwoDecimal-parameter error);return false;var f_x = Math.round(floatvar*100)/100;return f_x;功能:将浮点数四舍五入,取小数点后2位用法:changeTwoDecimal(3.1415926) 返回 3.14changeTwoDecimal(3.1475926) 返回 3.152,js保留2位小数(强制) 对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:changeTwoDecimal(3.1),将返回 3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:changeTwoDecimal_f=function (floatvar)var f_x = parseFloat(floatvar);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 = 48 & event.keyCode 1) event.returnValue = false; function FormatNumber(srcStr, nAfterDot) var resultStr, nTen; srcStr = + srcStr + ; strLen = srcStr.length; dotPos = srcStr.indexOf(., 0); var parts = srcStr.split(.); if (dotPos = -1) resultStr = srcStr + .; for (i = 0; i = nAfterDot) nAfter = dotPos + nAfterDot + 1; nTen = 1; for (j = 0; j nAfterDot; j+) nTen = nTen * 10; resultStr = Math.round(parseFloat(srcStr) * nTen) / nTen; return resultStr; else resultStr = srcStr; for (i = 0; i (nAfterDot - strLen + dotPos + 1); i+) resultStr = resultStr + 0; return resultStr; function CheckMoney(obj) if (!isNaN(obj.value) if (obj.value 0.01) obj.value = ; else obj.value = FormatNumber(obj.value, 2); obj.value = FormatNumber(obj.value, 2); else obj.value = formateMoney(obj);/格式化数字为国际货币数字(就是每三位分节)function formateMoney(obj) if (obj.value).indexOf(,) 0) & (obj.value) != ) var num = ; var flt = 00; var result = ; if (obj.value).indexOf(.) 0) num = obj.value; else var parts = obj.value.split(.); num = parts0; flt = parts1; for (var i = 1; i + 3 = num.length; i = i + 3) result = , + num.substring(num.length - i - 2, num.length + 1 - i) + result; result = num.substring(0, num.length + 1 - i) + result; obj.value = res

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论