1. function PointFloat(src, pos) {
  2.  
  3. return Math.round(src * Math.pow(10, pos)) / Math.pow(10, pos);
  4. }

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

  1. function fomatFloat(src, pos) {
  2.  
  3. var numArray, resultSymbol = "";
  4. if (src < 0) {
  5. resultSymbol = "-";
  6. }
  7. if (pos == "") {
  8. pos = new Number(0);
  9. }
  10. src = src.toString().replace("-", "");
  11. if (src.indexOf('.') > 0) {
  12. numArray = src.split('.');
  13. if (numArray[1].length > pos) {
  14. var endStr, isCarry=false;
  15. if (numArray[1].length > parseFloat(pos) + 1) {
  16. endStr = numArray[1].substring(parseFloat(pos) + 1);
  17. for (var i = 0; i < endStr.length; i++) {
  18. if (endStr[i] > 0) {
  19. isCarry = true;
  20. break;
  21. }
  22. }
  23. }
  24. numArray[1] = numArray[1].substring(0, pos + 1);
  25. var endChar = numArray[1][pos];
  26. var newpoint = new Number("0." + numArray[1].substring(0, pos));
  27. if (endChar >= 5 && pos >= 0) {
  28. if (endChar > 5) {
  29. if (pos == 0) {
  30. numArray[1] = 1;
  31. }
  32. else {
  33. numArray[1] = parseFloat(newpoint) + parseFloat(Math.pow(0.1, pos));
  34. }
  35. }
  36. else if (endChar == 5) {
  37. //5后面有有效数字,直接向前进一位
  38. if (isCarry) {
  39. numArray[1] = parseFloat(newpoint) + parseFloat(Math.pow(0.1, pos));
  40. return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
  41. }
  42. if (pos == 0) {
  43. if (numArray[0] % 2 != 0) {
  44. numArray[1] = 1;
  45. } else {
  46. numArray[1] = 0;
  47. }
  48. return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
  49. }
  50. var preChar = numArray[1][pos - 1];
  51. if (preChar % 2 == 0) {
  52. numArray[1] = newpoint;
  53. }
  54. else {
  55. numArray[1] = parseFloat(newpoint) + parseFloat(Math.pow(0.1, pos));
  56. }
  57. }
  58. return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
  59. }
  60. else {
  61. numArray[1] = newpoint;
  62. return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
  63. }
  64. }
  65. return src;
  66.  
  67. } else {
  68. return resultSymbol + src;
  69. }
  70. return src;
  71. }

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. 几种display:table-cell的应用

    一.display:table-cell属性简述 display:table- cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.目前IE8+以及其他现代浏览器都是支持此属性的,但是IE ...

  2. MVC之前的那点事儿系列(8):UrlRouting的理解

    文章内容 根据对Http Runtime和Http Pipeline的分析,我们知道一个ASP.NET应用程序可以有多个HttpModuel,但是只能有一个HttpHandler,并且通过这个Http ...

  3. 如何查看SQL Server的版本、补丁包信息?以及如何鉴别是否需要升级自己的SQL Server?

    作为一个SQL Server的数据库管理人员,经常需要碰到的一个问题就是查看自己SQL Server属于哪个版本,是否安装了最新的修复补丁包,是否安装了最近的安全补丁.在此之前,我们可以通过以下SQL ...

  4. 教你一招:解决安装或卸载office时 提示错误2503 2502 发生了内部错误

    问题重现: 解决办法:使用软件卸载工具 Uninstall Tool 3.5.1 中文破解版强制删除文件,非常暴力,完美解决. 解决过程一览: 工具下载地址: 软件卸载工具 Uninstall Too ...

  5. String()与 toString()

    我们知道String()与 .toString()都是可以转换为字符串类型,但是String()与 .toString()的还是有区别的 1..toString()可以将所有的的数据都转换为字符串,但 ...

  6. MySQL索引背后的数据结构及算法原理

    摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BT ...

  7. 使用U盘重装电脑操作系统

    1. 打开360软件管家,找一个软件"蚂蚁U盘启动"下载,下载好以后打开,电脑上插入U盘,我们制作一个启动U盘备用! 图片图片 按提示制作好启动盘后,保管好U盘. 找一个系统下载网 ...

  8. Python学习笔记——迭代器(RandSeq和AnyIter)

    1.RandSeq #coding:utf-8 #!/usr/bin/env python 'randSeq.py -- 迭代' #从random模块里仅仅导入choice方法 from random ...

  9. epoll ET模式陷阱分析

    0. 前言 这篇文章主要记录在使用epoll实现NIO接入时所遇到的问题. 1. epoll简介 epoll是Linux下提供的NIO,其主要有两种模式,ET(Edge trige)和LT(Level ...

  10. kindeditor在光标处插入编辑器外的数据

    页面 <div class="form-group clearfix"> <label class="control-label col-sm-3 co ...