Trimmen von Nullen nach dem Komma

7

Ich versuche, Nullen nach einem Dezimalpunkt wie unten zu trimmen, aber es gibt nicht das gewünschte Ergebnis.

%Vor%

Die Nummer wird immer noch angezeigt, ohne dass Nullen nach dem Dezimalzeichen abgeschnitten werden.

Hier ist currentVal die Nummer, die ich eingeben möchte.

Zum Beispiel, wenn ich "trig" = 123 übergebe (anfänglich "trigon" = 123 nachdem trig / 100 ausgeführt wurde, möchte ich 1.23 anzeigen, aber es wird als 1.23000000 angezeigt).

    
ram 13.03.2012, 15:09
quelle

8 Antworten

2

Aus der Dokumentation , es sieht so aus, als ob setFractionDigits: nur für die umgekehrte Konvertierung verwendet wird.

Am besten konvertieren Sie Ihre Zahl in eine Ganzzahl, bevor Sie sie formatieren, z. B.

%Vor%

Sie können auch die Formatierungsfunktionen von stringWithFormat: von NSString verwenden, aber dann verlieren Sie alle Lokalisierungsvorteile, die Sie mit NSNumberFormatter erhalten.

    
JeremyP 13.03.2012, 15:39
quelle
30

Manchmal sind die geraden C-Formatbezeichner einfacher als die Cocoa-Formatierungsklassen und sie können in der Formatzeichenfolge für die normale stringWithFormat: -Nachricht an NSString verwendet werden.

Wenn Sie keine abschließenden Nullen anzeigen möchten, führt der Formatbezeichner "g" folgende Aufgabe aus:

%Vor%

Beachten Sie, dass keine Präzisionsinformationen vorhanden sind, was bedeutet, dass die Bibliothek printf die abschließenden Nullen selbst entfernt.

Weitere Informationen finden Sie in den Dokumenten beziehen Sie sich auf die Dokumente von IEEE.

    
Monolo 13.03.2012 15:22
quelle
4

Falls das jemandem hilft. Ich wollte 1 Dezimalwert, aber keine '.0' am Ende, wenn der Float '1.0' war. Die Verwendung von% g würde eine wissenschaftliche Notation für längere Zahlen ergeben, da Hässlichkeit gut genug für mich gearbeitet hat, da eine hohe Genauigkeit nicht kritisch war.

%Vor%     
Blimey 13.01.2015 00:40
quelle
3

Dies zeigt keinen Dezimalwert hinter dem Dezimalpunkt an:

%Vor%

Damit werden nur die Nullen nach dem Dezimalzeichen abgeschnitten:

%Vor%

Beachten Sie, dass Sie dadurch den nachgestellten Dezimalpunkt erhalten können. "124." könnte passieren. Ich denke, dass bald eine intelligentere Lösung veröffentlicht wird.

    
Hermann Klecker 13.03.2012 15:27
quelle
1

Das ist vielleicht keine richtige Lösung, wo es NSNumberFormetter Class gibt, aber ich habe es einfach gemacht und dann viel gegoogelt! ;)

Hier ist ein Beispiel, wenn es hilft:

%Vor%     
Rizbi 16.04.2012 17:12
quelle
1

Ich musste das nur für eines meiner Programme tun und heres, wie ich es gemacht habe:

%Vor%     
Matt Cooper 16.01.2013 19:59
quelle
1

Das funktioniert

%Vor%     
Egor T 03.04.2014 10:24
quelle
0

Es liegt daran, dass Ihr Datentyp nicht so formatiert werden kann.

    
Har 13.03.2012 15:12
quelle

Tags und Links