パーセント値のフォーマット小数点?
-
22-09-2019 - |
質問
私は何をしたいことは、このようなものです。
String.Format("Value: {0:%%}.", 0.8526)
%%は、そのフォーマットプロバイダーですか私が探しています何でも。
なるはずである:Value: %85.26.
を
私は基本的に結合WPFのためにそれを必要とするが、最初の一般的な書式設定の問題が解決してみましょう。
<TextBlock Text="{Binding Percent, StringFormat=%%}" />
解決
P
フォーマット文字列を使用してください。これは文化によって異なります。
String.Format("Value: {0:P2}.", 0.8526) // formats as 85.26 % (varies by culture)
他のヒント
あなたはさておき文化依存の表示形式を設定し、値および「%」の間にスペースがありますかどうかを明示的に制御を取得し、「%」は、先頭または末尾にされているかどうか、あなたが使用できるのは良い理由がある場合NumberFormatInfoの PercentPositivePattern と PercentNegativePattern >プロパティ。
はたとえば、末尾「%」値及び「%」の間にはスペースを小数点値を取得する
myValue.ToString("P2", new NumberFormatInfo { PercentPositivePattern = 1, PercentNegativePattern = 1 });
より完全な例:
using System.Globalization;
...
decimal myValue = -0.123m;
NumberFormatInfo percentageFormat = new NumberFormatInfo { PercentPositivePattern = 1, PercentNegativePattern = 1 };
string formattedValue = myValue.ToString("P2", percentageFormat); // "-12.30%" (in en-us)
あなたはヨーヨーが私のためにあなたのentrieのように、この形式の作品を数を保つことができます形式を使用したい場合:
"# \\%"
このコードはあなたを助けることがあります:
double d = double.Parse(input_value);
string output= d.ToString("F2", CultureInfo.InvariantCulture) + "%";
私は最善の解決策であることが上記の答えを見つけたが、私は、パーセント記号の前に先頭にスペースが好きではありません。私は、やや複雑なソリューションを見てきましたが、私はだけではなく、他の丸めソリューションを使用して上記の答えに、この置き換え追加を使用します。
String.Format("Value: {0:P2}.", 0.8526).Replace(" %","%") // formats as 85.26% (varies by culture)
所属していません StackOverflow