03. september 2008 - 21:34
Der er
16 kommentarer
Lommeregner der kan dividere
hey er der noget der kan sige hvordan man får en lommeregner til at kan dividere? jeg kan godt få den til at plus, minus og gange.. label2.Caption := inttostr(strtoint(edit1.text) * strtoint(edit2.text)); så har jeg prøvet: label2.Caption := inttostr(strtoint(edit1.text) / strtoint(edit2.text)); men det virker ikke.. er der nogen der ved hvorfor?
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
03. september 2008 - 21:39
#1
maaske: label2.Caption := floattostr(strtoint(edit1.text) / strtoint(edit2.text));
03. september 2008 - 22:00
#2
fordi / ikke giver et heltal men en decimal og du prøver at konvertere et heltal til en streng derfor vil arne_v's eks. virke og dit ikke :-) div er en heltals division : label2.Caption := inttostr(strtoint(edit1.text) div strtoint(edit2.text));
03. september 2008 - 22:10
#3
tusind tak for hjælpe :-).. skulle bare skrive 'div' i stedet for '/'
03. september 2008 - 22:16
#4
Det er lidt usaedvaneligt med en lommeregner som laver hel tals division.
03. september 2008 - 22:21
#5
hvordan får man det så til at skrive et punktum (.) for hver tusinde? nu skriver der 120498295 og jeg vi gerne have den til at skrive: 120.498.295 er der en der ved hvordan man gør det?
03. september 2008 - 23:05
#6
prøv: FloatToStrF(120498295, ffNumber, 10, 0)
03. september 2008 - 23:12
#7
hvor skal det stå?
04. september 2008 - 08:54
#8
FloatToStrF er en funktion der tager 4 parametre: et tal, en formatteringsmaske og længe og decimaler (vistnok er punktum eller komma inklusiv) og returnerer den færdige streng. Linjen skal derfor være: label2.Caption := FloatToStrF(StrToFloat(edit1.Text) / StrToFloat(edit2.Text),ffNumber,10,3); Afhængig af Delphi-version. Hjælpen efter Delphi 7 er lidt en prøvelse så hjælper det at skrive navnet (FloatToStrF, placere markøren i ordet og trykke F1).
04. september 2008 - 08:55
#9
Evt kan du bruge StrToFloatDef så du kan fange "tomme" input.
08. september 2008 - 21:14
#10
kan har denne kode: label125.caption := inttostr(strtointdef(edit11.text,0) * (2500) div (1000)); men den skriver at resultatet er "2" og ikke "2,5" nogen der ved hvorfor? grunden til at jeg ikke bruger float, er at jeg ikke kan lægge alle "labeler" sammen til sidst.
08. september 2008 - 21:56
#11
ja div er en HELTALS division, altså uden ,5
08. september 2008 - 22:18
#12
Div (og mod) er heltalsoperationer mens / og * er beregnet til decimaltal label125.Caption := FloatToStr(StrToFloatDef(edit11.Text, 0.0) * 2500 / 1000); Havde det været heltal kunne du i øvrigt have brugt MulDiv label125.caption := IntToStr(MulDiv(StrToIntDef(edit11.Text,0),2500,1000); Bemærk i øvrigt hvor læseligt det bliver når man bruger store og små bogstaver. Helt pænt bliver det om man giver sine komponenter fornuftige navne. Synes label125 tyder på en pæn stor form fuld af komponenter man ikke ved hvad skal indeholde.
08. september 2008 - 22:23
#13
grunen til at jeg ikke bruger float er at jeg kan ikke finde ud af at lægge 2 labels sammen til sidst: fx hvis der står to resultater: 2.000 og 5.000. (bemærk (.)) hvordan lægger man dem sammen så? hvis altså man bruger float???
09. september 2008 - 09:02
#14
Jeg har ikke testet det, men det burde virke: procedure TMyCalculator.GetValue(const aInput: string): double var FormatSettings: TFormatSettings; begin FormatSettings := GetFormatSettings; // Hent Windows' indstillinger FormatSettings.ThousandSeparator := '.'; // Ret detaljer så de passer til FormatSettings.DecimalSeparator := ','; // programmet result := StrToFloat(aInput,FormatSettings); // Konvertér end;
09. september 2008 - 09:04
#15
var Total: double; begin Total := GetValue('2.000') + GetValue('5.000,23'); end; Du kan ikke have punktum for tusendedelsseparator og decimalseparator på samme tid. Det normale er som ovenstående, at kommaet er decimalseparator.
28. oktober 2008 - 02:43
#16
Tid at få afsluttet her ?
Kurser inden for grundlæggende programmering