四舍六入五成双银行家算法的 PHP和Javascript实现
四舍六入五成双 http://baike.baidu.com/view/1245064.htm?fr=aladdin 四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍
四舍六入五成双
http://baike.baidu.com/view/1245064.htm?fr=aladdin
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5入1;②5前为偶数,舍5不进。(0是最小的偶数)
具体规则如下:
1. 被修约的数字等于或小于4时,该数字舍去;
2. 被修约的数字等于或大于6时,则进位;
3. 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。
举例,用上述规则对下列数据保留3位有效数字: 9.8249=9.82, 9.82671=9.83 9.8350=9.84, 9.8351 =9.84
PHP:
<span>function</span> round2(<span>$num</span>,<span>$precision</span><span>){ </span><span>$pow</span> = <span>pow</span>(10,<span>$precision</span><span>); </span><span>if</span>( (<span>floor</span>(<span>$num</span> * <span>$pow</span> * 10) % 5 == 0) && (<span>floor</span>( <span>$num</span> * <span>$pow</span> * 10) == <span>$num</span> * <span>$pow</span> * 10) && (<span>floor</span>(<span>$num</span> * <span>$pow</span>) % 2 ==0) ){<span>//</span><span>舍去位为5 && 舍去位后无数字 && 舍去位前一位是偶数 =》 不进一</span> <span>return</span> <span>floor</span>(<span>$num</span> * <span>$pow</span>)/<span>$pow</span><span>; }</span><span>else</span>{<span>//</span><span>四舍五入</span> <span>return</span> <span>round</span>(<span>$num</span>,<span>$precision</span><span>); } } </span><span>echo</span> round2(3.504501,3);
JavaScript:
<span>function</span><span> round2(num,precision){ </span><span>var</span> dnum = Math.pow(10<span>,precision); </span><span>if</span>(Math.floor(num*dnum*10)%5 == 0 && Math.floor(num*dnum*10) == num*dnum*10 && Math.floor(num*dnum)%2 == 0<span>){ </span><span>return</span> Math.floor(num*dnum)/dnum; }<span>else</span><span>{ </span><span>return</span><span> Math.round(num,precision); } } alert(round2(</span>3.504501,3));
From: http://blog.sina.com.cn/s/blog_47542995010144ro.html

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.
