1

「Interest」としましょう。

プロパティ

 public decimal Interest { get; set; }
 public string InterestString { get; set; }

Interest の値を InterestString に割り当てたいので、次のようにしました。たとえば、Interest の値が 4 (小数点以下なし) であると仮定します。

InterestString = Interest.ToString();

変換が完了するInterestStringと「4.000」になりますが、Interest の値は .0000 を除いて 4 しかありません。

変換後もフォーマットを保持したい。これらの重要でない小数点以下の桁数を取り除くにはどうすればよいですか?

私がこのようなことをしたら

InterestString = Interest.ToString("N0");

InterestString="4"; が表示されます。But what if I have Interest 4.5? This will give meInterestString = "5"` (10 に四捨五入)。

私がそうInterest.ToString("N2")すると、まだ2つの取るに足らない小数点以下の桁数が得られます。私が望む動作は、重要でない小数点以下の桁数を削除することです。

助けてください。

4

1 に答える 1

7

基本的にあなたが望む方法があるとはSystem.Decimal思いません。Normalize必要な小数点以下の桁数がわかっている場合は次を使用できます。

string x = Interest.ToString("0.######");

必要な数の # 記号を使用します。有効数字のみが入力されます。

using System;

class Test
{
    static void Main()
    {
        ShowInterest(4m);    // 4
        ShowInterest(4.0m);  // 4
        ShowInterest(4.00m); // 4
        ShowInterest(4.1m);  // 4.1
        ShowInterest(4.10m); // 4.10
        ShowInterest(4.12m); // 4.12
    }

    static void ShowInterest(decimal interest)
    {
        Console.WriteLine(interest.ToString("0.#####"));
    }
}
于 2013-03-12T07:00:47.127 に答える