2013-03-18 50 views
0

如何將30.55273轉換爲C#中的30.055273 我正在使用xbee無線模塊,它不會發送分數,因此我必須將任何雙精度值分爲兩部分EX:30.055273 - > 30和055273,所以當我發送其中我收到他們30和55273所以左側的零將被取消我怎麼能解決這個問題如何將雙轉換爲另一個雙C#?

+0

@ab ......你削減他們分成兩個字符串? – MikeTWebb 2013-03-18 18:44:54

+0

@MikeTWebb不長 – 2013-03-18 18:46:35

回答

3

這聽起來像你收到兩個整數,你想要粘在一起 - 與其中之一縮小了一百萬倍。是對的嗎?

double ConvertToDouble(int wholePart, int fractionalPart) 
{ 
    return wholePart + fractionalPart/1000000d; 
} 

注意「d」的一部分是非常重要的 - 這是確保你使用進行算術double(而不是整數運算)的劃分。

如果精確的數字是對你很重要,它可能是你應該實際使用decimal

decimal ConvertToDouble(int wholePart, int fractionalPart) 
{ 
    return wholePart + fractionalPart/1000000m; 
} 
+0

是的,我想把它們粘在一起,小數部分總是6位數字 – 2013-03-18 18:48:57

+0

@Jon ....如果fractionalPart有5個以上的didigts,這種方法會工作嗎?我只是想弄明白分母對0552734,0527346等的價值是如何工作的 – MikeTWebb 2013-03-18 18:49:42

+0

@Jon ....無視我的評論,我剛纔看到Abdelrahman對上述6位數字的評論:) – MikeTWebb 2013-03-18 18:50:36

2

只是選擇一個乘數,比如100000,取小數部分,由數相乘,然後後來除以那個數字。

此外,您可以通過XBee發送您喜歡的任何數據。您可能只想將數據轉換爲字節數組。有關如何做到這一點,請參閱How do I convert an array of floats to a byte[] and back?

+0

我認爲這不能解決零問題左邊的問題 – 2013-03-18 19:00:39

+0

和xbee可以逐字節發送,因此它只能發送字符 – 2013-03-18 19:01:25

+1

是的,它修復它,它只是發送字節數據形式.....字節與字符不完全相同。字符只是表示特定符號的一個特定的字節編碼。 XBee可以發送字節,就像計算機中的內存以字節形式存儲所有內容。浮點數只是編碼4個字節來表示浮點數的一種方式,如果您發送這4個字節,則會在另一端獲得浮點數。我使用XBee,併發送浮點數據以及其他數據(也壓縮和加密的頂部!) – 2013-03-18 20:29:32

1

你可以將它們作爲字符串發送嗎?那就這樣做。

如果只能發送整數值,則發送3個值。

例如:30.055273

  • 首先號留十進制(整數)的
  • 第二個數字是右十進制(分數)的
  • 第三數目零的數目(佔位符)
+0

沒有我不能發送字符串,Xbee只發送字符 – 2013-03-18 18:58:48

+0

因此,當我知道多少零部分零部件我怎樣才能構建它們回到C# – 2013-03-18 18:59:32

+1

字符串是字符。在這一點上不需要計算零點。 – 2013-03-19 03:39:02

1

建立在Bloack青蛙的想法。構建在C#中的字符串,然後將它轉換翻番如下:


String result = leftToDecimal.ToString() 
+ "." + zeroString(numberOfZeros) + fraction.ToString(); 
double MyOriginalNumber = Convert.ToDouble(result); 

Public string zeroString(int zeroCount) 
{ 
    String result= ""; 
    for(int i=0; i< zeroCount; i++) 
    result+="0"; 
} 
+0

我不能將它們作爲字符串發送:) – 2013-03-18 19:23:01

+0

我已經解決了這個問題,但我真的很感謝你的幫助亞雷姆:D – 2013-03-18 19:24:37

+1

:)我abt告訴你,你可以使用分隔符w kda bs好像你找到了你的方式。日Thnx – Reem 2013-03-18 19:30:47