Avatar billede zerohero Nybegynder
21. marts 2002 - 23:40 Der er 4 kommentarer og
2 løsninger

opdel decimaler

Findes der en smart måde at opdele et langt tal til små 2 cifrede "bidder"?

eksempel:
Orginal tal: -3542897
Ønsket opdelt i små bidder med højst 2 cifre:
35
42
89
7

hver opdeling skal sættes ind i, hver sin integer og - og + skal sættes ind i en string:

s = '-'
a = 35
b = 42
c = 89
d = 7

(hvor a,b,c,d alle er integer og s er en string)

håber i forstår hvad jeg mener...
Avatar billede laffe Nybegynder
21. marts 2002 - 23:46 #1
Lav integer værdien om til et hex-string med IntToHex(10601251,6);
Det giver en streng: A1C323
Del strengen op i 2 tegn
a=A1
b=C3
c=23

Kald nu StrToInt(a) for at konvertere strengen tilbage til tal.
Avatar billede doc404 Novice
22. marts 2002 - 01:04 #2
Laffe> ideen er smuk, men virker ikke med negative tal...



  //---- her er hvad du skal bruge
  if Tal < 0 then
    begin
      s := '-';
      Tal := -Tal;
    end
  else
    s := '+';
  x := IntToStr(Tal);
  a := StrToInt(Copy(x,1,2));
  b := StrToInt(Copy(x,3,2));
  c := StrToInt(Copy(x,5,2));
  d := StrToInt(Copy(x,7,2));
Avatar billede doc404 Novice
22. marts 2002 - 01:07 #3
Ouch..det går også galt...

Lav en funktion som følger:

function Bla(s : string) : integer;
begin
  if s = '' then
    Result := 0
  else
    Result := StrToInt(s);
end;

Og brug den istedet for StrToInt...

Måske skulle man tænke før man skriver... :-)
Avatar billede doc404 Novice
22. marts 2002 - 01:08 #4
Må man spørge, hvad i alverden du skal bruge det til?
Avatar billede laffe Nybegynder
22. marts 2002 - 08:23 #5
> doc404

Det virker, hvis du først kigger på, om tallet er mindre end 0, for så at at sætte s='-' ellers s='+'. ;-)
Avatar billede zerohero Nybegynder
22. marts 2002 - 09:04 #6
Tak for jeres indslag... jeg vil afprøve det lidt senere på dagen - har nemlig ikke tid lige nu. Det vil tage længere tid at forklare, hvad det skal bruges til, da det er en lille del ud af et større projekt.
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

Seneste spørgsmål Seneste aktivitet
1 min siden Libre Office Impress Af Frank i Andre styresystemer
I dag 11:47 VB script Af Jenshentze i Word
I dag 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel