データ型がFloatの列を持つSQLテーブルがあります。この列にパーセンテージ値を書き込む外部アプリがあり、それらを読み取ってWebアプリに表示します。
小数をパーセンテージに変換する方法を理解しています。通常は100を掛けますが、これは少し異なります。
DBの値は次のようになります。
0.95 <-- DB 5% <-- UI
0.85 <-- DB 15% <-- UI
0.5 <-- DB 50% <-- UI
私が試してみました
number * percentage / 100
と
((percentage /100) * value).ToString();
と
string percentage = string.Format("Percentage is {0:0.0%}", value);
と
percentage/100m*value
と
myDecimal.ToString("0.00");
そして最後に、私が思ったことは近かった:
Math.Round(myDecimal, 2).ToString("{0.00}");
そしてもちろん、次のようなさまざまな文字列フォーマット
MyDecimal.ToString("P"), .ToString("P1"), etc)
C#でのパーセンテージのフォーマット、丸め、変換に関する記事:
パーセンテージを最も近い分数に 変換します。C#で の作業パーセンテージ、 http://www.dotnetperls.com/percentage、
しかし、私は一生の間、必要な出力を提供するための数学計算や組み込みのc#変換を見つけることができません。
私がしなければならないことは、0.96桁をある数値で減算し、次にそれを100で乗算することですが、0.5が50%であると、常に私の計算が失敗します。
これは一般的な変換のようです。私がここで欠けているものは何ですか?
アップデート
これが私が最終的に得た解決策であり、うまく機能します!(ありがとうリード)
var li = new List<Object>();
var retVal = new List<string>();
li.Add(.5); // 50%
li.Add(.95); // 95%
li.Add(.85); // 85%
li.Add(0.87813); // 12.18700%
foreach (var o in li)
{
var value = Convert.ToDouble(o);
string percentage = string.Format("Percentage is {0:0.0%}", 1.0 - value);
retVal.Add(percentage);
}
リンク
完全を期すために、C#での小数、パーセンテージ、倍精度、および変換に関するリソースのかなり簡潔なリストを次に示します。
A +
パーセンテージ値のc#
形式の小数での作業パーセンテージ?
パーセンテージを最も近い分数に変換する
http://www.dotnetperls.com/percentage.NET
:小数から丸められた文字列
C#フォーマットされた文字列を数値に戻す組み込み関数はありますか?
A-
小数点を特定の小数点以下の桁数でパーセントとしてフォーマットします
。小数点以下をパーセントに変換するか、小数点以下をシフトします。パーセンテージ文字列をdoubleに変換する方法
は?
B +
小数を表示する2つの方法
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx