Avatar billede nanders Nybegynder
14. januar 2004 - 12:45 Der er 5 kommentarer og
2 løsninger

csv-filer , antal decimaler

Kære eksperter,

I et javaprogram genererer jeg .csv filer med henblik på analyse.

Koden starter således

import java.util.*;
import java.io.*;
import java.util.Date;
import java.text.*;

    /**
   
    */

        public class ModelJava125 {
   
        private FileOutputStream f;
        private PrintStream ps;
        private final static NumberFormat nf = NumberFormat.getInstance(new Locale("da", "dk"));
         
        public ModelJava125() throws Exception{
       
        Date date = new Date();
        DateFormat df = new SimpleDateFormat("ddMM-HHmm");
        String s = df.format(date);
        FileOutputStream f = new FileOutputStream("c:/test/f-"+s+".csv"); // +".csv"
        ps = new PrintStream(f);
       
        }

        public void Method() {
         

Problemet er, at den fil jeg genererer kun kan vise mine variable med 3 decimalers nøjagtighed.

Jeg har brug for mindst 10 decimaler hvis jeg skal undlade logaritme transformeringer og den slags.

Forslag til hvordan jeg kan få flere decimaler er derfor yderst velkomne.
Avatar billede arne_v Ekspert
14. januar 2004 - 17:29 #1
DecimalFormat giver dig mere kontrol over output.

Eksempel:

import java.util.*;
import java.text.*;

public class Num {
    private final static NumberFormat df1 = NumberFormat.getInstance(new Locale("da", "dk"));
    private final static NumberFormat df2 = new DecimalFormat("###,##0.00000", new DecimalFormatSymbols(new Locale("da", "dk")));
    public static void main(String[] args) {
        for(int i = 1; i <= 10; i++) {
            double x = 1.0 / i;
            System.out.println(df1.format(x) + " = " + df2.format(x));
        }
    }
}
Avatar billede arne_v Ekspert
14. januar 2004 - 17:30 #2
"###,##0.00000" skal fortolkes som:

0 = ciffer
# = ciffer dog ingenting hvis 0
, = group separator ifølge locale
. = decimal seperator ifølge locale
Avatar billede nanders Nybegynder
15. januar 2004 - 14:53 #3
Hej Arne,

Endnu engang må jeg bøje mig i støvet.

Tusind tak.

Med venlig hilsen

nanders
Avatar billede nanders Nybegynder
15. januar 2004 - 14:54 #4
tak
Avatar billede nanders Nybegynder
15. januar 2004 - 14:55 #5
Hej Arne,

Prøver at give dig pointsene senere. Den registrerer vist ikke tryk på svar pt.
Avatar billede arne_v Ekspert
15. januar 2004 - 14:58 #6
OK
Avatar billede nanders Nybegynder
25. februar 2004 - 18:54 #7
Prøver at give dig point, men den kan åbenbart ikke
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

IT-JOB

SOS International

Cloud Native Architect

Unik System Design A/S

DevOps Engineer

Lyngsøe Rainwear ApS

ERP & E-commerce Systemansvarlig

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Nye kolleger søges til IT Stab i Forsvaret