【发布时间】:2021-05-08 10:52:34
【问题描述】:
var
iNum, iNumHun, iNumTens, iNumOnes : Integer;
begin
iNum := StrToInt(edtInput.Text);
iNumHun := iNum DIV 100;
iNumTens := iNum DIV 10;
iNumOnes = iNum DIV 1;
【问题讨论】:
-
显然这行不通,因为例如 155 DIV 10= 15,那么我应该怎么做才能让它工作呢?
-
使用文本操作实际上可能更有效
-
@DavidHeffernan:是的,那么也许您每秒可以执行 20000000 次,而不仅仅是 10000000 次! (好吧,不打算使用阶乘。)
-
只需使用
MOD和DIV的组合。例如,对于数百个,您可以使用iNumHun := iNum MOD 1000 DIV 100;或iNumHun := iNum DIV 100 MOD 10;。