kde Value je typu extended a varA je typu integer a mě se do value vypočte pouze celá část bez desetiných míst, která by měla vzniknout tím dělením 100, jak tedy docílím toho, aby se výraz už počítal jako extended a né jako integer
V Pascalu (nebo Delphi) provádí operace mezi celými čísly výpočet také jako celé číslo, takže při dělení ztratíte desetinnou část. Aby výsledek byl typu Extended, musíte zajistit, že alespoň jedna z hodnot v operaci je typu Extended.
Můžete toho dosáhnout konverzí proměnných nebo konstant na typ Extended pomocí funkce Extended() nebo jednoduše přidáním desetinné části.
Změňte svůj výraz takto:
Value := (varA mod 10000 - varA mod 1000) / 100.0;
Tímto způsobem zajistíte, že výsledek dělení bude typu Extended a ne Integer.
To taky není funkce, ale tvrdé přetypování. Můžeš tam naspat jakýkoliv jiný název datového typu, pokud to dává smysl. Třeba string na integer takhle nepřevedeš.