2015-01-15 22 views
0

我有這個數服用只有兩個double類型的位數不四捨五入它

double Nb=4.9584763251 

我怎樣才能使逗號後得到的只有兩個數字,而不四捨五入數量:

Nb=`4.95` and not `4.96` 

使用Math.Round(Nb,2)將返回4.96 有沒有辦法解決這個問題?

+0

你想保持它作爲一個數字或只顯示文本? –

+0

將它保留爲一個數字,因爲後來我想將它與其他變量進行比較 – Sora

+0

使用'decimal'而不是'float',否則對其的任何操作都可能引入舍入錯誤 –

回答

1

您可以使用Math.Truncate(Nb * 100)/100m

+0

由於重複問題的答案顯示爲float應該避免,否則舍入錯誤是不可避免的 –

+0

更改,謝謝你的提示 – HimBromBeere

0
double x = ((int)(Nb*100))/100.0 
+0

這會給我'4.0' – Sora

+0

您試過嗎? – rkrahl

+0

我會使用'decimal x',即'decimal x =((int)(Nb * 100))/ 100m;' –