Warum enthält das standardmäßige numerische Format für Prozentangaben ein Leerzeichen?

8

Die Hintergrundgeschichte

Ich habe einige Dezimalwerte, die ich als Zeichenfolgen auf einer Webseite als Teil einer größeren Zeichenfolge anzeigen kann. Ich begann mit einer Standard-Numerischen Format-Zeichenfolge, um dies auszugeben. ZB

%Vor%

Die 0 nach der P sagt mir, ich will keine Nachkommastellen. Dies funktioniert so weit wie es geht, in dem mein Ausgang endet etwa wie folgt:

  

Berechnet wie oben basierend auf dem abgestuften Mindestbeitragssatz des Unternehmens von 2%

Das Raumproblem

Ich möchte diesen Abstand zwischen der Zahl und dem Prozentzeichen wirklich loswerden, da es in manchen Fällen dazu führt, dass es sich über mehrere Zeilen aufteilt. Und außerdem bevorzuge ich das%, um die Zahl zu erhöhen.

Mögliche Problemumgehungen

1. html / CSS-Lösung

Ich könnte ein <nobr> -Tag oder ein <span style="white-space: nowrap;"> darum legen. Aber das fühlt sich peinlich an, und trotzdem bevorzuge ich das% bis zur Zahl, da ich denke, dass es besser aussieht. So würden wir es in Berichten in diesem Waldstück schreiben, so will ich es auf der Webseite.

2. Benutzerdefinierte Formatzeichenfolge

Ich werde am Ende eine benutzerdefinierte numerische Format-Zeichenfolge verwenden, z. B.

%Vor%

Die Frage

Gibt es häufiger Prozentsätze mit einem Leerzeichen zwischen der Zahl und dem Prozentzeichen? Das würde mich überraschen, aber es könnte sein.

Gibt es eine Möglichkeit, die Standard-Numerische Format-Zeichenfolge anzugeben Ich möchte den Speicherplatz nicht?

Besteht ein Nachteil darin, eine benutzerdefinierte numerische Formatzeichenfolge über eine standardmäßige numerische Formatzeichenfolge zu verwenden?

Ok - ich gebe es zu, das war mehr als eine Frage - Extra Credit, wenn Sie alle beantworten.

    
Sam Meldrum 05.02.2009, 16:04
quelle

3 Antworten

3

Betrachten Sie Ссылка oder Ссылка es scheint, dass das Prozentzeichen direkt hinter der Zahl ohne Zwischenraum dazwischen üblich ist:)

Sehen Sie sich Ссылка

an

Wahrscheinlich hängt es von der Kultur ab, der Standardwert (invariant) ist n%

    
Aleris 05.02.2009, 16:25
quelle
4

Das hat für mich funktioniert:

%Vor%     
user565869 02.12.2013 20:45
quelle
2

Um den standardmäßigen PercentPositivePattern-Wert zu ändern, müssen Sie ein neues CultureInfo-Objekt erstellen und es anstelle des Standardwerts verwenden, der wahrscheinlich "en-us" ist. (Alternativ können Sie "en-za" als Kultur in Ihrer Web.config angeben, aber ich empfehle das aus offensichtlichen Gründen nicht.)

In den ASP-Foren gibt es einen großartigen Beitrag, der erklärt, wie man das alles macht. Siehe den Code des dritten Posters (m0brien). Ich habe seinen genauen Code in die Page_Load-Methode meiner Masterseite kopiert, so dass ich nicht mehr darüber nachdenken muss.

Natürlich könnten Sie String.Format () immer einfach machen. Ersetzen Sie ("", String.Empty), aber Sie müssten das auf Ihrer gesamten Site machen. Und, ehrlich, wo ist der Spaß daran, wenn du deine Ärmel hochkrempeln und mit deinen Globalisierungswerten spielen kannst ???

    
David 27.03.2009 23:03
quelle

Tags und Links