Matroids Matheplanet Forum Index
Moderiert von matph
Informatik » Programmieren » C - Format-Platzhalter
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule C - Format-Platzhalter
JamesNguyen
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 08.11.2020
Mitteilungen: 187
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2021-02-24


Hallo,

kurze Frage.

Ich versuche ein Zahl linksbündig und mit führender 0 auszugeben.
führende 0 klappt, aber sobald ich linksbündig hinzufüge macht er die 0 weg.

printf ("%02u" , i * j);  geht

printf ("%-02u" , i * j); linksbündig aber ohne führende 0

geht das überhaupt?

James



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
JamesNguyen
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 08.11.2020
Mitteilungen: 187
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, vom Themenstarter, eingetragen 2021-02-24


ehrlich gesagt kann ich mir darunter auch nicht wirlich etwas vorstellen

wie soll es führende null bei linksbündig überhaupt geben



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
StrgAltEntf
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 19.01.2013
Mitteilungen: 6774
Herkunft: Milchstraße
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2021-02-24


Was hältst du von
  printf ("0%d" , i * j);
?

Obwohl ich den Grund, warum man so etwas tun möchte, nicht verstehe.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
JamesNguyen
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 08.11.2020
Mitteilungen: 187
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, vom Themenstarter, eingetragen 2021-02-24


Das ist ein witzige vlt auch die richtige Idee

Das kommt aus der Aufgabenstellung:

In einer Zelle geben Sie das Produkt aus Zeilen und Spaltenzahl aus. Und zwar zweistellig
hexadezimal mit führender 0 linksbündig und darunter vierstellig oktal mit Vorzeichen rechts
ausgerichtet. Sollte das nicht ausreichen, nehmen Sie eine gleichmäßige Breitenkorrektur vor,
so dass in allen Zellen gleich breite hexadezimale und gleich breite oktale Zahlen stehen.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
JamesNguyen
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 08.11.2020
Mitteilungen: 187
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2021-02-24


ja also ich mach das jetzt mit

0%d

da steht ja führende 0 also vlt eine.

Vielleicht ist das ja das man die hexadez von der oktal unterscheiden kann



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 1995
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2021-02-24


2021-02-24 18:49 - JamesNguyen in Beitrag No. 4 schreibt:
ja also ich mach das jetzt mit

0%d

da steht ja führende 0 also vlt eine.

Was da steht, ist, dass du die Zahlen mit führenden Nullen zweistellig ausgeben sollst, also z.B. "5" als "05". Aber du sollst nicht eine Null vor alles hängen.

Außerdem ignoriert dein Format völlig, das es um eine hexadezimale Ausgabe geht.

Wenn du in einem Feld der Breite 5 eine Zahl hexadezimal 2-stellig mit führender Null linksbündig ausgeben wilst, ist das Format %-5.2x. Oder %-5.2X, wenn du lieber Großbuchstaben magst.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
JamesNguyen
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 08.11.2020
Mitteilungen: 187
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2021-02-24


ah ok

bei gleitkommazahlen bedeutet ja .2f kommastellen nach dem komma

bei ganzen gibt es also auch .2 und stellt hier die stellenzahlen an.

zweistellig hat hier also nichts mit der breit zu tun

Danke!



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
JamesNguyen
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 08.11.2020
Mitteilungen: 187
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, vom Themenstarter, eingetragen 2021-02-24


Wie ist dann vierstellig oktal gemeint?

weil wenn ich "%.4o" mache macht er auch führende Nullen



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 1995
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, eingetragen 2021-02-24


Schau doch mal in irgendeine Doku. Es gibt sogar einen Wikipedia-Artikel zu diesem Thema.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
JamesNguyen
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 08.11.2020
Mitteilungen: 187
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, vom Themenstarter, eingetragen 2021-02-24


ok mache ich, ich wollte dann fragen

ob ich nun

"In einer Zelle geben Sie das Produkt aus Zeilen und Spaltenzahl aus. Und zwar zweistellig hexadezimal mit führender 0 linksbündig und darunter vierstellig oktal mit Vorzeichen rechts ausgerichtet."

richtig gemacht habe

printf ( "%-5.2X" , i * j ) ;

und

printf ( "+%.4o" , i * j ) ;

bei oktal

kommt dann halt bspw. +0017 raus, also führende Nullen

Ich wüsste aber nicht was es heißen würde wenn man

vierstellig oktal mit Vorzeichen rechts ausgerichtet

ohne führende Nullen machen müsste



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
JamesNguyen hat die Antworten auf ihre/seine Frage gesehen.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]