四捨五入和銀行家舍入法
四捨五入是一種應用非常廣泛的近似計算方法,其有算術舍入法和銀行家舍入法兩種。
所謂算術舍入法,就是我們通常意義上的四捨五入法。其規則是:當捨去位的數值大於等於5時,在捨去該位的同時向前位進一;當捨去位的數值小於5時,則直接捨去該位。
銀行家舍入法即“四捨六入法”,可以概括為:“四捨六入五考慮,五後非零就進一,五後皆零看奇偶,五前為偶應捨去,五前為奇要進一”。
-------------。net下預設是銀行家舍入法,實現四捨五入可用下法----------
1)
public decimal Round(decimal x, int len)
{
return Decimal.Round(x + 0.000001m, len);
}
2)
或者 用Round的第三個引數 MidpointRounding.AwayFromZero
2010-01-19 09:51:22
相關推薦
四捨五入和銀行家舍入法
四捨五入是一種應用非常廣泛的近似計算方法,其有算術舍入法和銀行家舍入法兩種。 所謂算術舍入法,就是我們通常意義上的四捨五入法。其規則是:當捨去位的數值大於等於5時,在捨去該位的同時向前位進一;當捨去位的數值小於5時,則直接捨去該位。 銀行家舍入法即“四捨六入法”,可
JS toFixed(銀行家舍入法)及其缺陷和解決方法
所謂銀行家舍入法,其實質是一種四捨六入五取偶(又稱四捨六入五留雙)法。 據說,大部分的程式設計軟體都使用的是這種方法,也算是一種國際標準。 所謂銀行家舍入法,其實質是一種四捨六入五取偶(又稱四捨六入五留雙)法。其規則是:當捨去位的數值小於5時,直接捨去該位;當捨去位的數值大於等於6時,在捨去該位
四捨五入VS銀行家舍入 (四捨六入五取偶)
相信細心的程式設計師們早就發現了.net環境下預設舍入演算法的是“四捨六入”的演算法。從小學我們就學過“四捨五入”演算法,但是更加科學的舍入辦法應該是“四捨六入”,也就是今天我們要討論的“銀行家舍入”。 大家可以做一個Demo。 C#環境下 1: class Pr
銀行家舍入VS四捨五入
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication2{class Program {static void Main(string[] args) { Console.Wri
銀行間舍入法
if ( == 5 ) 若5後面非0時,則進位後捨去 若5後面是0時,則根據5前一位數的奇偶性來判斷,奇數進位,偶數捨去 BigDecimal bd = new BigDecimal(11.3501); BigDecimal bt = bd.setScale(1, RoundingMod
銀行家舍入
今天看到tf.round函式,指明使用的是銀行家舍入 搜尋了下銀行家舍入: 四捨六入五考慮,五後非零就進一,五後為零看奇偶,五前為偶應捨去,五前為奇要進一。 銀行家舍入是IEEE規定的小數舍入標準之一,也是IEEE目前規定中最優秀的舍入方法,因此所有符合 IEEE 標準的語言都應該實現
php 四捨六入(銀行家舍入)實現
專案中要用到銀行家舍入方法,php沒有現成的方法,所以寫了一個 function up6down4($num,$n){ $pow = pow(10,$n); $con_a = floor(round($num * $pow * 10,1)); $
Java-截尾和舍入的問題
結果 string AI imp void sys 如果 system 問題 直接轉型時,總是對數字執行截尾。如果想要得到四舍五入的結果,則需使用java.lang.Math中的round()方法。 1 import java.util.*; 2 3 public
談談JavaScript的算數運算、二進位制浮點數舍入誤差及比較、型別轉換和變數宣告提前問題
在《JavaScript權威指南》一書第三章節“型別、值和變數”中,作者詳細介紹了Javascript的數字、文字、布林值等型別,全域性物件,包裝物件,型別轉換,變數作用域等概念。其中有3個地方需要我們在使用過程中引起注意,可能稍不留神就犯錯: 1)算數運算與浮點數比較問題 2)
VB6-對數值的舍入-四捨五入/四捨六入五留雙-及推廣
裝作自己厲害到能寫部落格了… 真的只是個水貼…做的比我好的不是大有人在了 而是不計其數了 最簡單的 四捨五入到個位: Iris= Int(Lily + 0.5) 推廣到 四捨五入到10^P位: Iris = Int(Lily * 10 ^ (-P) + 0.5)
Math.Round是四捨五入還是五舍六入
在開發中發現一個以前未注意到的問題, 以前一直以為Math.Round是按四捨五入的原則處理的(從小到大中國的教育課程就是這樣,至少我是這樣看到的), 沒想到時代在變化,國際形式日新月異(老外實在是有才)。 居然發現還有一個五舍六入的原則,下面是Math.Round
java 保留小數與四捨五入以及時間日期的轉換和excel讀入與資料庫寫入
之前進行開發了一段小程式,開發過程中發現短短白來行的程式碼需要用到很多的知識現在進行總結 先貼程式碼,後面做詳細的解釋 public class ImportData { static SimpleDateFormat formater = new SimpleD
數據結構與算法第10周作業——二叉樹的創建和遍歷算法
技術分享 truct order traverse eof 結構 後序遍歷 lib void 一、二叉樹的創建算法(遞歸方式) 二、二叉樹的先序、中序和後序遍歷算法 #include<stdio.h>#include<stdlib.h>typedef
數據結構-第10周作業(二叉樹的創建和遍歷算法)
樹的創建 創建 -1 數據結構 二叉 分享 com jpg 遍歷算法 數據結構-第10周作業(二叉樹的創建和遍歷算法)
爬山算法和模擬退火算法簡介
出了 搜索算法 旅行 www cnblogs 所有 發的 圖1 貪心 轉自:http://www.cnblogs.com/chaosimple/archive/2013/06/10/3130664.html 一. 爬山算法 ( Hill Climbing )
Spring註入值得2種方式:屬性註入和構造註入
eth fault ror bstr images context pac truct 上下文對象 Spring是一個依賴註入(控制反轉)的框架,那麽依賴註入(標控制反轉)表現在那些地方了? 即:一個類中的屬性(其他對象)不再需要手動new或者通過工廠方法進行創建,而是S
實戰c++中的vector系列--對vector<自己定義類>使用std::find 和 std::find_if 算法
++ pac price key fadein 輸出 var getitem mod 之前博客講了一些關於std::find和std::find_ if的一些使用方法。可是沒有講述對於vector中存儲的是自己定義的類。那麽怎麽樣使用std::find和
POJ 3670 Eating Together 二分解法O(nlgn)和O(n)算法
n) 數據 代表性 tld 優化 inline ont 思想 子序列和 本題就是一題LIS(最長遞增子序列)的問題。本題要求求最長遞增子序列和最長遞減子序列。 dp的解法是O(n*n),這個應該大家都知道。只是本題應該超時了。 由於有O(nlgn)的解法。 可
控制反轉和依賴註入的關系總結
ack 註解 變量 java 方法 顯式 接口 autowire tail 借鑒http://blog.csdn.net/zhoudaxia/article/details/31763677 控制反轉:把傳統上由程序代碼直接操控的對象的調用權交給外部容器,通過容器來實現對象
java BigDecimal八種舍入模式
進制數 value 入行 6.5 except tab scale left 兩個類 一、BigDecimal介紹 java.math.BigDecimal 不可變的immutable、任意精度的有符號十進制數。BigDecimal 由任意精度的整數非標度值和32位