私は現在、クライアントWebサイト用の販売モジュールを構築しています。これまでのところ、私は完全に計算するための販売価格を持っています、しかし私が動けなくなったところは小数点第2位に出力をフォーマットすることです。
私は現在結果をリストビューにデータバインドできるように変数でこれを呼び出しています。
Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price / 100))).ToString())),
誰もが小数点第2位に出力をフォーマットする方法を私に示すことができますか?どうもありがとう!
次のようにフォーマットをToString
メソッドに渡すことができます。
myFloatVariable.ToString("0.00"); //2dp Number
myFloatVariable.ToString("n2"); // 2dp Number
myFloatVariable.ToString("c2"); // 2dp currency
あなたがする必要がある最初の事は価格のためのdecimal
の代りにfloat
タイプを使用することです。 float
を使用することは、ほとんどの小数を正確に表すことができないため、絶対に受け入れられません。
それが終わったら、 Decimal.Round()
を使って2桁に丸めることができます。
String.Format("{0:#,###.##}", value)
C# の文字列書式設定からのより複雑な例:
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", value);
1243.50が渡されると、これは「$ 1,240.00」を出力します。数値が負の場合は同じ形式ですが括弧付きで出力され、数値がゼロの場合は文字列「Zero」が出力されます。
すでに述べたように、あなたはフォーマットされた結果を使う必要があるでしょう。これはすべてWrite()
、WriteLine()
、Format()
、そしてToString()
メソッドを通して行われます。
言及されていないのは、指定された小数点以下の桁数を可能にする固定小数点形式です。例に示すように、 'F'を使用し、 'F'に続く数字は出力される小数点以下の桁数です。
Console.WriteLine("{0:F2}", 12); // 12.00 - two decimal places
Console.WriteLine("{0:F0}", 12.3); // 12 - ommiting fractions
string outString= number.ToString("####0.00");