Zahl formatieren



  • Hi,

    gibt es irgend eine Klasse (vielleicht mit ner statischen Methode), mit der
    ich bestimmen kann, auf wie viele Stellen eine Zahl ausgegeben wird?
    Z.B. das die Zahl "13" auf 4 Stellen ausgegeben wird -> "0013".

    Wüsste zwar wie ich mir das programmiere - aber warum das Rad neu erfinden wenn es das vielleicht schon gibt.

    Danke



  • Mit <iostream> so:

    std::cout << std::setfill('0') << std::setw(4) << 13;
    

    EDIT: Hab grad gesehen, dass ich mich im Java-Forum befinde. 😉



  • yoyo,

    mit C(++) könnte ichs auch 🙂

    Bräuchte ne Lösung in Java

    Danke



  • Naja, ich habs mir jetzt mal selber geproggt.
    Falls dennoch jemald ne Methode aus der Java-API kennt wäre ich dankbar.

    FÜr den Fall das es jemanden interessiert is hier der Code:

    public String numberFormat(int digits, int number) {
            if( number > (Math.pow(10, digits)-1) || number < 0 || digits < 1)
                throw new IllegalArgumentException();
            int steps = 0;
            for(float f = number; f >= 1.0f; steps++)
                f/=10;
            StringBuffer ret = new StringBuffer();
            for (int i = 0; i < digits-steps; i++) {
                  ret.append("0");
            }
            return ret.append(number).toString();
        }
    

    ciao



  • interpreter schrieb:

    Naja, ich habs mir jetzt mal selber geproggt.
    Falls dennoch jemald ne Methode aus der Java-API kennt wäre ich dankbar.

    Mit NumberFormat kann man einiges bzgl. Formatierung machen.

    NumberFormat nf = NumberFormat.getInstance();
    nf.setMinimumIntegerDigits(5);
    nf.setGroupingUsed(false);
    String myNumber = nf.format(1);
    

    bis dänn, O'Dog


Anmelden zum Antworten