我想AC#功能與此簽名的權利:取得的顯著位數到小數點在C#十進制
int GetSignificantNumberOfDecimalPlaces(decimal d)
它應該表現調用的時候如下:
GetSignificantNumberOfDecimalPlaces(2.12300m); // returns 3
GetSignificantNumberOfDecimalPlaces(2.123m); // returns 3
GetSignificantNumberOfDecimalPlaces(2.103450m); // returns 5
GetSignificantNumberOfDecimalPlaces(2.0m); // returns 0
GetSignificantNumberOfDecimalPlaces(2.00m); // returns 0
GetSignificantNumberOfDecimalPlaces(2m); // returns 0
即對於給定的小數點,我想要小數點右邊的重要小數位數。所以尾隨零可以被忽略。 我的回退是將小數轉換爲一個字符串,修剪尾隨零,並通過這種方式獲得長度。但是有更好的方法嗎?
注意:我可能在此處使用「顯着」一詞不正確。在這個例子中所需的返回值應該有希望解釋我在做什麼。
123.456m和123.4560m之間有差異。即如果我傳入的小數具有尾隨零,則例程應該忽略它們。 例如,您的代碼適用於123.456m,但不適用於123.4560m。 –