function PointFloat(src, pos) {

return Math.round(src * Math.pow(10, pos)) / Math.pow(10, pos);
}

//保留小数位数 四舍六入奇进偶舍

function fomatFloat(src, pos) {

var numArray, resultSymbol = "";
if (src < 0) {
resultSymbol = "-";
}
if (pos == "") {
pos = new Number(0);
}
src = src.toString().replace("-", "");
if (src.indexOf('.') > 0) {
numArray = src.split('.');
if (numArray[1].length > pos) {
var endStr, isCarry=false;
if (numArray[1].length > parseFloat(pos) + 1) {
endStr = numArray[1].substring(parseFloat(pos) + 1);
for (var i = 0; i < endStr.length; i++) {
if (endStr[i] > 0) {
isCarry = true;
break;
}
}
}
numArray[1] = numArray[1].substring(0, pos + 1);
var endChar = numArray[1][pos];
var newpoint = new Number("0." + numArray[1].substring(0, pos));
if (endChar >= 5 && pos >= 0) {
if (endChar > 5) {
if (pos == 0) {
numArray[1] = 1;
}
else {
numArray[1] = parseFloat(newpoint) + parseFloat(Math.pow(0.1, pos));
}
}
else if (endChar == 5) {
//5后面有有效数字,直接向前进一位
if (isCarry) {
numArray[1] = parseFloat(newpoint) + parseFloat(Math.pow(0.1, pos));
return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
}
if (pos == 0) {
if (numArray[0] % 2 != 0) {
numArray[1] = 1;
} else {
numArray[1] = 0;
}
return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
}
var preChar = numArray[1][pos - 1];
if (preChar % 2 == 0) {
numArray[1] = newpoint;
}
else {
numArray[1] = parseFloat(newpoint) + parseFloat(Math.pow(0.1, pos));
}
}
return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
}
else {
numArray[1] = newpoint;
return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
}
}
return src; } else {
return resultSymbol + src;
}
return src;
}

js实现四舍六入 奇进偶舍的更多相关文章

  1. sql奇进偶舍函数

     create   function   sslr(@num   numeric(20,10),@i   int) --@i保留的小数位 --@num传入的数据 returns   varchar(2 ...

  2. 关于C# Math 处理奇进偶不进

    话说,最近一次系统维护 用JS读取导入Excel中的实验数据,出现被自动四舍五入.后来到客户现场听客户反馈  Excel实验数据要求 奇进偶不进. 关于 奇进偶不进 产生的由来:从统计学的角度,“奇进 ...

  3. 【学习总结】Python-3-round()函数的奇进偶弃的问题

    参考: 本教程的评论区:菜鸟教程-Python3-Python数字 "4舍6入5看齐,奇进偶不进" 取代"四舍五入". round()函数: 可以在第二个参数指 ...

  4. Math.Round四舍六入五取偶Math.Ceiling只要有小数都加1Math.Floor总是舍去小数

    1.Math.Round:四舍六入五取偶 引用内容 Math.Round(0.0) //0Math.Round(0.1) //0Math.Round(0.2) //0Math.Round(0.3) / ...

  5. JS toFixed 四舍六入五成双

    以前一直以为toFixed就是四舍五入的方法,后来又有一段时间以为toFixed是五舍六入.今天终于写的时候,终于才知道toFixed是一个叫做四舍六入无成双的诡异的方法... 完全不明白为什么要这么 ...

  6. table 奇行偶行

    jquery 方法: $("tr:odd").//偶行 $("tr:even") //奇行

  7. Python3基础 str format 四舍六入五凑偶 保留一位小数

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. JS基础_其他进制的数字(了解)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. HDU-5215 Cycle 无向图判奇环偶环

    题意:给一个无向图,判断这个图是否存在奇环和偶环. 解法:网上有一种只用dfs就能做的解法,但是我不太理解. 这里用的是比较复杂的.首先奇环很简单可以用二分图染色判断.问题是偶环怎么判断?这里我们想, ...

随机推荐

  1. 在Linux中如何使用命令进行RS-232串口通信和数据包解析

    文章首发于浩瀚先森博客 1. 获取串口号 在Linux系统中一切皆为文件,所以串口端口号也不例外,都是以设备文件的形式出现.也就是说我们可以用访问文本文件的命令来访问它们. a. 一般串口都是以/de ...

  2. 高性能JavaScript 编程实践

    前言 最近在翻<高性能JavaScript>这本书(2010年版 丁琛译),感觉可能是因为浏览器引擎的改进或是其他原因,书中有些原本能提高性能的代码在最新的浏览器中已经失效.但是有些章节的 ...

  3. 【跟着子迟品 underscore】JavaScript 数组展开以及重要的内部方法 flatten

    Why underscore (觉得这一段眼熟的童鞋可以直接跳到正文了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. ...

  4. APIPA(Automatic Private IP Addressing,自动专用IP寻址)

    APIPA APIPA(Automatic Private IP Addressing,自动专用IP寻址),是一个DHCP故障转移机制.当DHCP服务器出故障时, APIPA在169.254.0.1到 ...

  5. C 语言学习 第一次作业总结

    第一次的作业是冯老师布置的练习题,需要在pta平台上完成.我这边看不到结果,但是透过冯老师给出的截图,同学们都还是认真的去做的.同时,我这边也布置了一个持续 3 周的作业:熟悉 git 的使用.因为后 ...

  6. 非对称加密算法RSA

    RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.1987年首次公布,当时他们 ...

  7. Servlet和JSP学习指导与实践(一):Servlet API初探

    前言: JavaSE如何跨度到JavaEE?原本java语言只是专门用于application桌面小应用程序的开发,但自从其追随CGI进入服务器端的开发之后便一发不可收拾.先是Servlet1.0,再 ...

  8. 【bzoj4517】 Sdoi2016—排列计数

    http://www.lydsy.com/JudgeOnline/problem.php?id=4517 (题目链接) 题意 求n个数中正好m个数位置不变的排列数. Solution $${错排公式: ...

  9. js整数补零

    /* * * 整数前面补零 * * 质朴长存法 * num 要补灵的整数 * n个数,比整数位数多前面自动补零 * **/ function pad(num, n) { var len = num.t ...

  10. 如何查看Maven项目中的jar包依赖树情况

    对于开发人员,我想大家对于Maven应该不会陌生吧,如何在一个Maven项目中对这个项目中所引用的第三方jar包有个直观的了解呢? 其实实现很简单,只需要借助于Maven的一条命令,如下所示: mvn ...