2014-02-26 53 views
0

我有一種方法,當我試圖分解由10解碼的值時,我解碼文件中的某些信息,假設它刪除最後一位數字。劃分一個解碼值,而不是減去/刪除最後一位數字

private int DecodeInt(byte[] bytes, int start) 
{ 
    int r2 = 0; 
    byte ch1 = bytes[start]; 
    byte ch2 = bytes[start + 1]; 
    int result = ch2 + (ch1 * 256); 

    if (result > 32767) 
    { 
     r2 = 0; 
    } 
    else 
    { 
     r2 = result; 
    } 

    return r2; 
} 

我知道顯示的值應該是39.5。

Label_1.Text = (DecodeInt(Rec, 22)).ToString(); // Displays 395 
Label_1.Text = (DecodeInt(Rec, 22)/10).ToString(); // Displays 39 

我很困惑,爲什麼它不起作用......我相信這將是簡單的調整,但它會讓我有點生氣。

+1

您必須執行轉換爲正確的數字類型(例如double),才能夠計算小數。 – varocarbas

回答

2

你正在用int分割一個int,所以結果將只在int中。你可以做的是:

Label_1.Text = (DecodeInt(Rec, 22)/10.0).ToString(); 
相關問題