Avatar billede web_the_world Nybegynder
02. oktober 2002 - 20:37 Der er 2 kommentarer og
3 løsninger

angivelse af procenttal med decimal...

Hej kloge hoveder...

Jeg har lavet et program hvor jeg benytter mig af følgende

NumberFormat procent = NumberFormat.getPercentInstance();

Det giver mig en println - hvor f.eks. tallet 34% kommer frem, men hvor det ikke er helt nøjagtigt - hvis jeg nu gerne vil have et lidt mere præcist tal altså 34,3 hvis det nu var tilfældet hvad gør jeg så???

Tak
Avatar billede bearhugx Nybegynder
02. oktober 2002 - 20:43 #1
prøv

  procent.setMinimumFractionDigits(1);

Ved ikke om det vil virke, men jeg håber det gør :-)

/Søren
Avatar billede disky Nybegynder
02. oktober 2002 - 20:45 #2
Så vidt jeg kan se står det fint forklaret i API'en hovedtext.
Avatar billede bearhugx Nybegynder
02. oktober 2002 - 20:50 #3
Testkode :
import java.text.*;

public class NumberFormatProcentTest {
    public static void main(String[] args) {
        NumberFormat nf = NumberFormat.getPercentInstance();
        nf.setMinimumFractionDigits(3);
       
        double testNummer = 0.13579;

        System.out.println(" double = "+testNummer+" | as percent : "+nf.format(testNummer));
    }
}

OUTPUT :
  double = 0.13579 | as percent : 13,579%
Avatar billede bearhugx Nybegynder
02. oktober 2002 - 20:58 #4
Disky >> Yeps ...

faldt over følgende formulering fra APIen
<<<
You can also control the display of numbers with such methods as setMinimumFractionDigits. If you want even more control over the format or parsing, or want to give your users more control, you can try casting the NumberFormat you get from the factory methods to a DecimalFormat. This will work for the vast majority of locales; just remember to put it in a try block in case you encounter an unusual one.
>>>
Avatar billede cybermazedk Nybegynder
03. oktober 2002 - 16:59 #5
Der er en meget simpel måde at styre kommatal formatering på:

DecimalFormat format1 = new DecimalFormat( "00.00" );

Vil vise alle tal med mindst 2 cifre (hvis du prøver med et tal som 100, mener jeg der vises 3 cifre osv), et komma og 2 cifre.

Når et tal skal vises bruger du bare metoden format, f.eks.:

System.out.println( format1.format( ettal+andettal ) );

Metoden tager en double huske det. 2,43 vil her blive vist som 02,43, da der er angivet 2 cifre (00) foran komma. det kan fikses ved at angive decimalformatet som 0.00. Nu vises kun de nødvendige antal cifre foran komma. Men der vil aldrig blive vist mere end 2 cifre efter komma. 14,56433566544 vil blive vist som 14,56.

Håber det hjælper ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester