2013-07-17 30 views
-1

我得到以下代碼:C#移動逗號/點

Console.WriteLine("## Last 3 houres: ##\nHashrate: " + dsplit[2].Replace("\"hashrate\":", "")); 

dsplit是一個字符串。它需要是一個字符串。 現在dsplit會包含一個很大的數字,在我的情況是:「25018979863.514」 現在我需要移動小數位9位數,在本例中得到「25.01」。任何想法都很有效,以有效的方式獲得這一點?

+3

請更具體一些。需要應用什麼規則來移動小數?是否應該舍入?多少有效數字?等 –

+1

您的問題沒有足夠的上下文來有效地幫助您。例如,你可以使用'Decimal.Parse(dsplit [2] .Substring(0,4))/ 100',但是這隻會讓你在你包含的一個有限的例子中尋找結果。編輯您的問題以儘可能多地包含詳細信息。 –

回答

3

如果你想小數點的位置移動9位到左側(假設你想本輪下跌,否則你的榜樣的結果將是25.02):

var input = 25018979863.514; 
var output = Math.Floor(input * 0.0000001) * 0.01; // = 25.01 

這樣:

var input = Convert.ToDecimal(dsplit[2].Replace("\"hashrate\":", "")); 

Console.WriteLine("## Last 3 houres: ##\nHashrate: {0}", 
    Math.Floor(input * 0.0000001) * 0.01); 
+0

我只是想把小數點後9位數字 –