Drucken eines Doppelzeichens ohne die Dezimalstellen

8

Ich habe eine Nummer als double gespeichert und möchte sie ohne die Nachkommastellen drucken. Wenn ich also den doppelten Wert 919545634521.000000 hatte, wird er immer mit den hinzugefügten Dezimalstellen gedruckt. Wie kann ich es ohne es drucken, so wie es aussieht: 919545634521 ?

%Vor%     
phoenix 26.07.2011, 07:17
quelle

6 Antworten

9

probiere

aus %Vor%

können Sie auch

bevorzugen %Vor%

stattdessen. Je nach System benötigen Sie jedoch möglicherweise eine andere Funktion zum Konvertieren (ich denke, es ist _strtoui64 für Windows).

    
Michael Krelin - hacker 26.07.2011, 07:23
quelle
4

Nun, speichern Sie die Telefonnummer nicht als Fließkommazahl (eine falsche Bewegung, und Sie werden am Ende Ihre Telefonnummern abgerundet für Sie bekommen).

Speichern Sie es als Ganzzahl oder als Zeichenfolge.

    
NPE 26.07.2011 07:22
quelle
2

Verwenden Sie% 0.0lf oder gehen Sie mit einer Ganzzahl

Lookup-Formatspezifikationen für printf

    
Richard Holland 26.07.2011 07:22
quelle
1

printf ("%.0f\n", phoneNum); sollte funktionieren.

    
jman 26.07.2011 07:22
quelle
0

Sie suchen nach Genauigkeit - der Formatbezeichner %.0f sollte tun, was Sie wollen.

    
caf 26.07.2011 07:23
quelle
0

Ich bin mir über andere Compiler-Unterstützung nicht sicher, aber GCC unterstützt den Formatbezeichner 'g', der ein Double mit dem geringsten Platzbedarf für die volle Genauigkeit druckt. Zum Beispiel:

%Vor%

führt zu:

%Vor%     
nevelis 14.07.2014 18:52
quelle

Tags und Links