2014年8月29日 星期五

無條件捨去至小數兩位並補足位數

 (Math.Truncate(the_rate*100)/100).ToString().PadRight(4,'0');

幾種四捨五入的差別如下,主要是在負數會有差異
-3        -2        -1         0         1         2         3
 +--|------+---------+----|----+--|------+----|----+-------|-+
    a                     b       c           d            e

                       a=-2.7  b=-0.5  c=0.3  d=1.5  e=2.8
                       ======  ======  =====  =====  =====
Floor                    -3      -1      0      1      2
Ceiling                  -2       0      1      2      3
Truncate                 -2       0      0      1      2
Round (ToEven)           -3       0      0      2      3
Round (AwayFromZero)     -3      -1      0      2      3

但不管哪一種都是作用到整數位
所以如果需要針對小數後兩位就需要先*100再/100

.PadRight,避免4.70變成4.7,就是一個補足位數的概念
.PadLeft是在字串左邊補0

2014年8月28日 星期四

string.CompareTo之講人話好不

因為我腦袋比較差一點,一直看不懂MSDN上面的解釋

假設AllData數列內容為{甲,乙,丙,丁,戊},StartValue =乙

var a = AllData.Where(s => s.CofValue.CompareTo(StartValue) <= 0).Count();//2
var b = AllData.Where(s =>s.CofValue.CompareTo(StartValue) < 0).Count();//1
var c = AllData.Where(s => s.CofValue.CompareTo(StartValue) >= 0).Count();//4
var d = AllData.Where(s => s.CofValue.CompareTo(StartValue) > 0).Count();//3

記一下不然每次用每次忘

2014年4月16日 星期三

這個物件沒有定義無參數的建構函式。

這是發生在MVC架構的事件
起因是第一次載入Index頁面時OK,但查詢submit後會出現標題的錯誤訊息
下中斷點沒反應

Index

QueryModel

Controller

DataModel

出現錯誤原因
QueryModel沒有實作空的建構子
實作後即可解決此問題

QueryModel(){}
QueryModel(String A){}

2013年11月27日 星期三

Crystal Report 資料底色設定

整行變色-->區段專家-->色彩-->定義需要依照怎樣的條件調整
例如隔行換色
if Remainder(RecordNumber, 2) = 0 then
    Color(255,149,149)
else crNoColor

單字換色-->資料欄按右鍵-->格式物件-->字型-->定義需要依照怎樣的條件調整顏色

單欄換底色-->資料欄按右鍵-->醒目提示專家-->定義需要依照怎樣的條件調整顏色

2013年11月20日 星期三

我的IIS跟AD合作的一步一個坑

如果你跟我一樣不知道為什麼別人建置順順的東西總是沒人見過的bug一大堆
如果你總是莫名其妙把環境搞崩潰

也許,你可以先參考一下我的崩潰建置之路
說不定可以少崩潰個幾次這樣....


2013年11月11日 星期一

Crystal Report 排序問題

有時候會多一頁有時候會跳號亂排
建議在C#端先處裡好

λ的寫法大概是...
A= A.OrderBy(o => o.aNo).ThenBy(o => o.bNo).ToList();

這樣,記得要A=Axxxx這樣排序才會生效

.rpt檔那邊就全部調成「依原始順序」
盡量不要勾「群組保持在一起」否則可能會出現空白頁之類的問題...

但如果真的要勾,盡量挑一個就好