SqlServer2005 四捨六入 四捨六入五成雙 函式
SqlServer2005 用到了四捨六入五成雙,結果網上找了下,沒一個能行的。到處都是複製,轉帖的,亂七八糟。隨花時間寫了一個
僅僅經過了自己少數驗證,所以僅供參考,如發現錯誤請指正,謝謝!
--======================================== -- Author: SSQ -- Date: 2014年11月7日 -- Desc: 四捨六入五成雙 -- Demo: SELECT dbo.FnRound(1.95,1) --======================================== CREATE FUNCTION FnRound(@num DECIMAL(18,10),@i INT) RETURNS VARCHAR(20) AS BEGIN DECLARE @str VARCHAR(20), --轉換成字元型別 @str1 VARCHAR(20), --保留小數位之前的字串 @str2 VARCHAR(20), --小數位數後面的字串 @str3 VARCHAR(2), --小數位奇偶判斷 @str4 VARCHAR(1), --是不是5 @p INT, --小數點位置 @r DECIMAL(18,10), --保留位置之前數值 @v DECIMAL(18,10) --進位時增加值 SET @v='0.'+RIGHT('000000000001',@i) SET @str = CONVERT(VARCHAR(200), @num) --PRINT @str SET @p=CHARINDEX('.',@str) SET @str1=SUBSTRING(@str,0,@
[email protected]) --PRINT @str1 SET @str2 = SUBSTRING(@str,@p+1,LEN(@str)[email protected]) --PRINT @str2 --指定小數位奇偶判斷 SET @str3=SUBSTRING(@str2,@i,1) --PRINT @str3 --擷取保留小數的後一位,看是不是5 SET @str4=SUBSTRING(@str2,@i+1,1) --PRINT @str4 IF @str4='5' --是5 BEGIN IF @str3%2<>0 --奇數 BEGIN SET @r=CONVERT(DECIMAL(18,10),@str1)+ @v --進位 END ELSE SET @r=CONVERT(DECIMAL(18,10),@str1) END ELSE SET @r=ROUND(CONVERT(DECIMAL(18,10),@num),@i) --普通處理 RETURN @r END
相關推薦
SqlServer2005 四捨六入 四捨六入五成雙 函式
SqlServer2005 用到了四捨六入五成雙,結果網上找了下,沒一個能行的。到處都是複製,轉帖的,亂七八糟。隨花時間寫了一個 僅僅經過了自己少數驗證,所以僅供參考,如發現錯誤請指正,謝謝! --=
php四捨六入五成雙演算法
四捨六入五成雙演算法,本文是用php實現 1.四捨六入五成雙是什麼?首先看一下百度百科怎麼定義的: 2.php封裝方法 public function calculate($num,$precision){ $pow = pow(10,$precision
【測繪專用】四捨六入五成雙的C++實現
作為一名測繪專業的學生,在內業計算中經常遇到遇到小數點後保留幾位小數的問題。根據《工程測量實驗教程》(王宇會 著)一書,內業計算按“四捨六入,五前單進雙舍(或稱奇進偶不進)”的取捨規則進行尾數的取捨。如資料1.1235和1.1245小數點後保留三位時,均應為1.124 //四捨六入五成雙的基於
Math.Round四捨六入五成雙和double.tostring()的用法
在C#中大家都會遇到這種情況 double型別的資料,需要格式化(保留N未有效數字)或者是保留N為小數等情況,我們往往採取double.tostring("引數");的方法。下面就列出幾個常用的方法。 double temp=3.1415926; (F)Fixed point:string str1=
四捨六入五成雙的浮點轉整型的巨集定義
原來浮點轉整型,如果用C或是C++強制轉換的話,小數部分就全部都捨去了。 如:float temp=2.55; (int)temp=2 如果想四捨五入呢?注意,這裡的四捨五入不是傳統的四捨五入,因為四捨五入的誤差很大,正確的方法為:四捨六入五成雙,如果小數為:5,則根據前面
JS toFixed 四捨六入五成雙
以前一直以為toFixed就是四捨五入的方法,後來又有一段時間以為toFixed是五舍六入。今天終於寫的時候,終於才知道toFixed是一個叫做四捨六入無成雙的詭異的方法。。。 完全不明白為什麼要這麼寫。。。 什麼是四捨六入五成雙:百度是這麼說的: 對於位數很多的近似數
C語言與c++標準輸出底層細節-四捨六入五成雙
引言:相信每個學生從小學就被教導要四捨五入,那四捨五入真的通用嗎? 四捨六入五成雙: 1."四捨六入五成雙"是什麼? 這是一種數字修約規則,一種比四捨五入更加精確科學的計數保留法. 其實就是在進位時四舍六進,為五時若後面有有效數字則捨去進1,否則前
C# 四捨五入 (解決四捨六入五成雙的問題)
四捨六入五成雙是一種精確度的計數保留法.舍入規律是"四捨六入五成雙",這裡"四"是小於五的意思,"六"是大於五的意思,"五"是舍入位之後的尾數逢五的話看前一位,奇進偶不進,就像1.25,因為2是偶數,所以是1.2。又像1.35,因為3是奇數,所以是1.4,明不明白,這個是資料
四捨五入VS銀行家舍入 (四捨六入五取偶)
相信細心的程式設計師們早就發現了.net環境下預設舍入演算法的是“四捨六入”的演算法。從小學我們就學過“四捨五入”演算法,但是更加科學的舍入辦法應該是“四捨六入”,也就是今天我們要討論的“銀行家舍入”。 大家可以做一個Demo。 C#環境下 1: class Pr
VB6-對數值的舍入-四捨五入/四捨六入五留雙-及推廣
裝作自己厲害到能寫部落格了… 真的只是個水貼…做的比我好的不是大有人在了 而是不計其數了 最簡單的 四捨五入到個位: Iris= Int(Lily + 0.5) 推廣到 四捨五入到10^P位: Iris = Int(Lily * 10 ^ (-P) + 0.5)
php 四捨六入(銀行家舍入)實現
專案中要用到銀行家舍入方法,php沒有現成的方法,所以寫了一個 function up6down4($num,$n){ $pow = pow(10,$n); $con_a = floor(round($num * $pow * 10,1)); $
十六周四次課
linux十六周四次課19.12 添加自定義監控項目19.13/19.14 配置郵件告警19.15 測試告警19.16 不發郵件的問題處理19.12 添加自定義監控項目添加自定義監控項目需求:監控某臺web的80端口連接數,並出圖兩步:1)zabbix監控中心創建監控項目;2)針對該監控項目以圖形展現對於第一
六十四、Linux監控平臺介紹、zabbix監控介紹、安裝zabbix、忘記Admin密碼如何做
LInux監控平臺介紹 zabbix監控介紹 安裝zabbix 忘記Admin密碼如何做 六十四、Linux監控平臺介紹、zabbix監控介紹、安裝zabbix、忘記Admin密碼如何做一、Linux監控平臺介紹 cacti、nagios、zabbix、smokeping、open-falco
學習六十四
linux學習5月30日任務20.5 shell腳本中的邏輯判斷20.6 文件目錄屬性判斷20.7 if特殊用法20.8/20.9 case判斷 shell腳本中的邏輯判斷 格式1:if 條件 ; then 語句; fi格式2:if 條件; then 語句; else 語句; fi格式3:if …; then
Linux學習總結(六十四)expect腳本下
文件同步 需要 send roo expect腳本 腳本批量 工具 lin 遠程主機 一 文件分發系統 需求背景對於大公司而言,肯定時不時會有網站或者配置文件更新,而且使用的機器肯定也是好多臺,少則幾臺,多則幾十甚至上百臺。所以,自動同步文件是至關重要的。實現思路首先要有一
第四階段組隊訓練賽第六場( 題源:UKIEPC2017)
col radi gre network == led build period tro A: Alien Sunset 題目描述 Following tremendous advances in space flight control software and equa
ElasticSearch最佳入門實踐(六十四)索引管理_定製化自己的dynamic mapping
1、定製dynamic策略 true:遇到陌生欄位,就進行dynamic mapping false:遇到陌生欄位,就忽略 strict:遇到陌生欄位,就報錯 定製 PUT /my_index { "mappings": { "my_t
吳恩達機器學習訓練祕籍整理三十六到四十三章(六)訓練資料
第三十六章: 何時在不同的分佈上訓練與測試。 使用者上傳的10000張圖片。網上收集的200000張圖片。使用者上傳的5000張用來做開發集和測試集。205000用來做訓練集。這樣可以讓他們的資料集的分佈儘可能的相同。 第三十七章: 現有100000張使用者上傳的圖片和200000張
C++筆記 第六十四課 C++中的異常處理(上)---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第六十四課 C++中的異常處理(上) 1.C++異常處理 C++內建了異常處理的語法元素try…catch… try語句處理正常程式碼邏輯 catch語句處理異常情況 try
二十四、python學習之前端(六):JQuery進階
一、jquery特殊效果: 1.特殊動畫: 1.1 特殊動畫函式: a.無參直接隱藏/顯示/切換,帶參變成動畫 函式 功能 hide() 隱藏元素