9 berichten aan het bekijken - 1 tot 9 (van in totaal 9)
  • Q:
    Bijdrager
    Undaunted

    [cocoa] StringFormatting vraag

    Ik zou graag een aantal float waarden weergeven met een nullen voor de komma.
    Ik weet hoe ik het met decimalen doe:

    [code:1:35143e77d2]
    int x = 6;
    NSLog(@"%1.6d",x);
    [/code:1:35143e77d2]
    Output: 000006

    Doe ik hetzelfde voor Float krijg ik toch een ander resultaat:
    [code:1:35143e77d2]
    float x = 6;
    NSLog(@"%1.6f",x);
    [/code:1:35143e77d2]
    Output: 6,000000

    Terwijl mijn gewenste output: 000006,000 is.
    Ik kan het nergens in de documentatie van Xcode, dan wel op Google vinden. Kan iemand me uitleggen hoe ik dat doe, en waar ik dat soort informatie vind?

    Ben ook wel nieuwsgierig of ik de nullen zou kunnen vervangen voor bijvoorbeeld “x”, dus xxxxx6. Kan dat?

    Gelijk nog een taalkundig vraagje: Als ik zeg dat ik een getal in 3 decimalen wil, wordt dat doorgaans geinterpreteerd als een getal met 3 cijfers achter de komma. Hoe noem je het als je getallen voor de komma wenst? Is daar ook een woord voor – zoals decimaal – of is het slechts te omschrijven als “zoveel cijfers voor de komma” ?

    Bijdrager
    iJoost
    Bijdrager
    Undaunted

    Hi iJoost, bedankt voor de link.

    Toch snap ik het niet helemaal.

    Ik lees bijvoorbeeld:
    printf(“%02d”, 3) results in “03”.

    maar als ik NSLog(@”%02d”, 3) doe, is het resultaat gewoon “3”.

    Om bovenstaand resultaat te krijgen moet ik blijkbaar NSLog(@”1.2d”,3) typen. Zijn printf en NSLog wel zomaar uitwisselbaar?

    Bijdrager
    iJoost
    Bijdrager
    Undaunted

    Kan het ook daar niet vinden. Snap jij het?:)

    Bijdrager
    iJoost

    Wat snap ik? Dat je de string-formatting moet gebruiken van de taal die je gebruikt? Ik wel…;-)

    Bijdrager
    Undaunted

    Hoe het werkt. Hoe ik een float output weergeef zoals ik in m’n hoofdpost vroeg… Ik kan het niet in het document terugvinden.

    Inactief
    Anoniem

    Wanneer je alleen maar nullen hebt voor de float die verder niets te maken hebben met de waarde van de float, zou je kunnen overwegen om twee NSStrings te combineren, de eerste met een aantal nullen (of x-en), en de tweede je float.

    Bijdrager
    Undaunted

    @koen klopt, al zou het met de formatting ook moeten kunnen. Het werkt tenslotte ook voor integers.

9 berichten aan het bekijken - 1 tot 9 (van in totaal 9)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.