我正在尋找一種等效於Delphi中的Delphi的System.Frac
的方法。是否有一個與Delphi的System.Frac等價的方法?
德爾福功能剝離整個數字,只留下小數點後的值。
我可以寫我自己的方法,但認爲我會檢查?
我正在尋找一種等效於Delphi中的Delphi的System.Frac
的方法。是否有一個與Delphi的System.Frac等價的方法?
德爾福功能剝離整個數字,只留下小數點後的值。
我可以寫我自己的方法,但認爲我會檢查?
我知道沒有這樣的功能,我不認爲它存在。這樣的功能將成爲Math
類的一部分,我不能在那裏看到它。所以你必須去與value-Math.Truncate(value)
:
public static double Frac(double value)
{
return value-Math.Truncate(value);
}
試試這個link
double value, fraction;
value = 8.24;
fraction = value - (int) value;
OR
Decimal d=1.58M;
Decimal fractional=d-Decimal.Truncate(d);
第一個受限於'int'的有限範圍,第二個不會返回負數的小數部分(-0.25 => 0.75),也可能遭遇舍入問題。最後一個是正確的。 – CodesInChaos 2012-01-03 12:15:22
@DavidHeffernan我的bad.i刪除了它 – PresleyDias 2012-01-03 12:15:56
感謝您的答覆。進一步搜索後,我也發現模數1有效。即值%1;這兩個答案都正確處理負值。 – James 2012-01-03 12:17:11
@Self實際上,模量可能會導致準確性問題。 (我假設由於浮點數學)。 – James 2012-01-03 12:20:33
'價值%1.0'的作品,因爲它不是模數,而是餘數。令人驚訝的是它比我的變種稍微快一點。 – CodesInChaos 2012-01-03 12:21:22