これはちょっとした質問です。私は似たような質問を見回しましたが、私の質問に具体的に答えるものは見つかりませんでした。10進数を小数点以下2桁まで切り捨てます。小数点以下2桁を超える場合を除きます。
私はwinformsアプリケーションを作っています。これは、とりわけ数値のアップダウンからデータを取得し、Wordの変数に配置します。数字のアップダウンの小数点以下4桁の精度は、例えば印刷契約の場合の€0,0125のような価格があるためです。しかし、他の価格は、たとえば€12,5000のように節約されます。私は現在、このような小数点以下2桁に数字を修正:
string value = type.GetValue().ToString().Trim(new char[] { '\'' });
//Changes commas for European standard and removes the excess zeros after the comma.
if (type.GetType().ToString().EndsWith("Decimal"))
{
string s;
string sep = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
if (sep == ".")
s = double.Parse(value).ToString("n2").Replace('.', ',');
else
s = double.Parse(value).ToString("n2");
wordDoc.Variables[type.GetName()].Value = s;
}
else
wordDoc.Variables[type.GetName()].Value = value;
しかし、私は、小数点がトリミングされませすべきときを検出する方法を見つけ出すように見えることはできません。私は必ずしもコード例が必要なわけではありません。もし誰かが私を正しい軌道に送ることができれば、大きな助けになるでしょう。
NB:数値アップの精度を変更することは、メソッドによって動的に作成されるため実際にはオプションではありません。
は、あなたはそれが動作するようにする方法のいくつかの例を与えることはできますか? – NibblyPig
小数点が '12,5000 'のときは、' 12,50'を表示します。 '0,125'や' 0,1250'のときは、 '0,125'を表示する必要があります – TCDutchman