Chcę czegoś takiego:
String.Format("Value: {0:%%}.", 0.8526)
Gdzie %% to dostawca formatu lub cokolwiek, czego szukam. Powinno skutkować: Value: %85.26.
.
Zasadniczo potrzebuję go do wiązania wpf, ale najpierw rozwiążmy ogólny problem z formatowaniem:
<TextBlock Text="{Binding Percent, StringFormat=%%}" />
c#
decimal
string.format
formatprovider
Shimmy Weitzhandler
źródło
źródło
P
formatowanie niezależne od kultury ?Jeśli masz dobry powód, aby odłożyć formatowanie zależne od kultury i uzyskać wyraźną kontrolę nad tym, czy między wartością a „%” jest spacja, oraz czy „%” jest wiodące czy końcowe, możesz użyć funkcji NumberFormatInfo PercentPositivePattern i Właściwości PercentNegativePattern .
Na przykład, aby uzyskać wartość dziesiętną z końcowym „%” i bez spacji między wartością a „%”:
Bardziej kompletny przykład:
źródło
Jeśli chcesz użyć formatu, który pozwala zachować numer jak Twój wpis, ten format działa dla mnie:
"# \\%"
źródło
Ten kod może ci pomóc:
źródło
Znalazłem powyższą odpowiedź jako najlepsze rozwiązanie, ale nie podoba mi się wiodąca przestrzeń przed znakiem procentu. Widziałem dość skomplikowane rozwiązania, ale po prostu używam tego dodatku Zamień do powyższej odpowiedzi zamiast używać innych rozwiązań zaokrąglania.
źródło