2013-08-28 89 views
0

我不想圓整我想在小數點後取4個地方。雙精度變量小數點後4位數

例子:

double something = 0.00038; 

我想要的結果是

0.0003 // 8 is discarded 

我怎麼能做到這一點?

+0

您是使用這個顯示,還是你需要編號爲ma主題計算? –

回答

5
double result = Math.Truncate(10000 * something)/10000; 
+1

@ MikePrecup對使用float的答案的評論在這裏也適用......以及更好的使用Decimal – PinnyM

1

只是乘,截斷,然後除。

decimal f = 100.; 
f = Math.Truncate(f * 10000)/10000; 

這裏是你可以使用

public static decimal MyTruncate(decimal input, int digit) { 
    return Math.Truncate(input * Math.Pow(10, -digit))/Math.Pow(10, -digit); 
} 

此功能截斷什麼的指定digit

其中0爲個位權,1是十位一個不錯的小功能-1是十分之一的地方

+0

使用'float'可能導致結果如0.000299999999999 –

+0

@MikePrecup您建議使用哪種數據類型? –

+1

「小數」會阻止這種情況。 –

相關問題