Avatar billede rynke10 Novice
15. oktober 2004 - 07:01 Der er 17 kommentarer og
1 løsning

komma punktum

Jeg skriver en masse data i en text-fil. Alle tallene har jeg formatteret til 3 pladser efter komma. (1/1000)
En maskine skal læse filen, men den bruget punktum til at seperere decimalerne. Kan jeg ændre det i udlæsningen, eller bliver jeg nødt til at udskifte alle kommaer med punktum??
Avatar billede martin_moth Mester
15. oktober 2004 - 08:12 #1
Du kan jo bare bruge replace på , og . inden du skriver filen
Avatar billede martin_moth Mester
15. oktober 2004 - 08:12 #2
Eller åbne filen efter den er skrevet, og bruge replace, og gemme den igen
Avatar billede rynke10 Novice
15. oktober 2004 - 08:34 #3
Det var det jeg helst ville undgå. HAr prøvet med Format 0.000 men det giver mig kun decimalerne, stadig adskilt af komma.
Hvis du kender AUTOCAD, bruges der også punktum til at adskille decimaler og komma til at adskille tal. Mener det er forskelligt hvad man gør i Europa og USA.
Avatar billede rynke10 Novice
15. oktober 2004 - 08:37 #4
har lige prøvet noget
nummer = 123.456
msgbox nummer

så skriver den 123,456 øv
Avatar billede rynke10 Novice
15. oktober 2004 - 08:54 #5
Hvis jeg skal bruge replace inden jeg skriver filen, så skal jeg jo lave alle mine talvariabler om til strings inden. DET orker jeg ikke, så løsningen må være at åbne filen igen som tekst og så replace. Havde bare håbet på at der var en nemmere løsning.
15. oktober 2004 - 09:27 #6
Er der en grund til, at den aktuelle maskine bruger punktum som decimal-seperator? Hvis ikke, kan du jo ændre det i kontrolpanelet...
Avatar billede rynke10 Novice
15. oktober 2004 - 09:41 #7
Thomasjepsen > det var jo lige det der var problemet. Jeg kan jo så ikke udelukke at andre maskiner har samme indstilling, så jeg replacer for en sikkerheds skyld.
smid et svar
15. oktober 2004 - 09:43 #8
Men hvis du blindt replacer, risikerer du så ikke, at de maskiner, som har komma som decimal-seperator (standard) får den modsatte fejl?
Avatar billede martin_moth Mester
15. oktober 2004 - 09:47 #9
I USA skriver man: kr. 1,000,000.25  (en million og 25 øre)
I DK skriver man:  kr. 1.000.000,25  (en million og 25 øre)

VB bruger ALTID . som decimal-seperator - uafhængigt hvilke internationale indstillinger der er på den aktuelle PC. Altså "the american way"

Jeg forstår efterhånden ikke hvad du vil.

Du kan sagtens få VB til at gemme både som
1,000,000.25 eller som 1.000.000,25 - det første gør den automatisk, det sidste kræver at du koder lidt om.
Avatar billede rynke10 Novice
15. oktober 2004 - 09:48 #10
Jeg vil jo have den til altid at give punktum ud. Jeg søger efter komma og finder den ikke noget, så replacer den vel heller ikke noget. Altså hvis maskinen har punktum som decimal seperator.
Har prøvet med begge instillinger i kontrolpanelet og det fungerer fint.
Jeg skriver filen, læser den igen og erstatter alle kommaer med punktum.
Avatar billede martin_moth Mester
15. oktober 2004 - 09:50 #11
Har du stadig et problem?
Hvis ja, hvad er det så
Avatar billede rynke10 Novice
15. oktober 2004 - 09:51 #12
Martin > Jeg har prøvet :

tal = 123.456
msgbox tal

Resultatet er afhængig af hvilken international indstilling jeg har i kontrolpanelet.
For at være sikker replacer jeg nu komma med punktum og det virker som jeg ønsker det.
Skal lige sige at maskinen som skal læse min fil ikke er en pc, men en CNC styring. Den kan IKKE lide komma.
Avatar billede rynke10 Novice
15. oktober 2004 - 09:52 #13
nej ikke problem mere, programmet giver altid punktum ud nu. :-)
Avatar billede martin_moth Mester
15. oktober 2004 - 10:19 #14
Du skal jo dim'me variablen tal efter hvilken datatype den skal indeholde.

Husk at luk :o)

PS: Hvis jeg giver dig en fil med koordinater på en alufælg, kan du få fræset 4 stk. for mig (har det noget med fræsning at gøre)?
Avatar billede rynke10 Novice
15. oktober 2004 - 10:24 #15
Skal have et svar, i har jo begge hjulpet, så dele point ?

Jeg kan nok godt fræse en alufælg ud, selv om det vist ikke er den måde det bliver lavet på. Det er nemlig 3D fræsning jeg leger med. Ulempen for dig er så at jeg bor i Kina, det er snart fyraften, klokken er 16.24 lige nu. :-)
Takker for hjælpen begge!
15. oktober 2004 - 10:28 #16
Giv bare Martin alle point...det var trods alt hans løsning :o)

Kina? Det er langt væk...!
Avatar billede rynke10 Novice
15. oktober 2004 - 10:33 #17
Så skal Martin lige smide et svar.
Det er sådan ca 14.000 Km væk, men vejret er noget bedre :-) Ca 22 gr endnu.
Avatar billede martin_moth Mester
15. oktober 2004 - 11:33 #18
Det regner!!!!!
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