js实现四舍六入 奇进偶舍
- 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实现四舍六入 奇进偶舍的更多相关文章
- sql奇进偶舍函数
create function sslr(@num numeric(20,10),@i int) --@i保留的小数位 --@num传入的数据 returns varchar(2 ...
- 关于C# Math 处理奇进偶不进
话说,最近一次系统维护 用JS读取导入Excel中的实验数据,出现被自动四舍五入.后来到客户现场听客户反馈 Excel实验数据要求 奇进偶不进. 关于 奇进偶不进 产生的由来:从统计学的角度,“奇进 ...
- 【学习总结】Python-3-round()函数的奇进偶弃的问题
参考: 本教程的评论区:菜鸟教程-Python3-Python数字 "4舍6入5看齐,奇进偶不进" 取代"四舍五入". round()函数: 可以在第二个参数指 ...
- 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) / ...
- JS toFixed 四舍六入五成双
以前一直以为toFixed就是四舍五入的方法,后来又有一段时间以为toFixed是五舍六入.今天终于写的时候,终于才知道toFixed是一个叫做四舍六入无成双的诡异的方法... 完全不明白为什么要这么 ...
- table 奇行偶行
jquery 方法: $("tr:odd").//偶行 $("tr:even") //奇行
- Python3基础 str format 四舍六入五凑偶 保留一位小数
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- JS基础_其他进制的数字(了解)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- HDU-5215 Cycle 无向图判奇环偶环
题意:给一个无向图,判断这个图是否存在奇环和偶环. 解法:网上有一种只用dfs就能做的解法,但是我不太理解. 这里用的是比较复杂的.首先奇环很简单可以用二分图染色判断.问题是偶环怎么判断?这里我们想, ...
随机推荐
- 几种display:table-cell的应用
一.display:table-cell属性简述 display:table- cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.目前IE8+以及其他现代浏览器都是支持此属性的,但是IE ...
- MVC之前的那点事儿系列(8):UrlRouting的理解
文章内容 根据对Http Runtime和Http Pipeline的分析,我们知道一个ASP.NET应用程序可以有多个HttpModuel,但是只能有一个HttpHandler,并且通过这个Http ...
- 如何查看SQL Server的版本、补丁包信息?以及如何鉴别是否需要升级自己的SQL Server?
作为一个SQL Server的数据库管理人员,经常需要碰到的一个问题就是查看自己SQL Server属于哪个版本,是否安装了最新的修复补丁包,是否安装了最近的安全补丁.在此之前,我们可以通过以下SQL ...
- 教你一招:解决安装或卸载office时 提示错误2503 2502 发生了内部错误
问题重现: 解决办法:使用软件卸载工具 Uninstall Tool 3.5.1 中文破解版强制删除文件,非常暴力,完美解决. 解决过程一览: 工具下载地址: 软件卸载工具 Uninstall Too ...
- String()与 toString()
我们知道String()与 .toString()都是可以转换为字符串类型,但是String()与 .toString()的还是有区别的 1..toString()可以将所有的的数据都转换为字符串,但 ...
- MySQL索引背后的数据结构及算法原理
摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BT ...
- 使用U盘重装电脑操作系统
1. 打开360软件管家,找一个软件"蚂蚁U盘启动"下载,下载好以后打开,电脑上插入U盘,我们制作一个启动U盘备用! 图片图片 按提示制作好启动盘后,保管好U盘. 找一个系统下载网 ...
- Python学习笔记——迭代器(RandSeq和AnyIter)
1.RandSeq #coding:utf-8 #!/usr/bin/env python 'randSeq.py -- 迭代' #从random模块里仅仅导入choice方法 from random ...
- epoll ET模式陷阱分析
0. 前言 这篇文章主要记录在使用epoll实现NIO接入时所遇到的问题. 1. epoll简介 epoll是Linux下提供的NIO,其主要有两种模式,ET(Edge trige)和LT(Level ...
- kindeditor在光标处插入编辑器外的数据
页面 <div class="form-group clearfix"> <label class="control-label col-sm-3 co ...