Quellcode-Bibliothek
© Kompilation durch diese Firma
[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]
Datei:
similarity.inc.~22~
Sprache: Scala
Untersuchungsergebnis.~38~ Download desText {Text[162] SPS[164] CS[190]}zum Wurzelverzeichnis wechseln //-------------------------------------------------------
//
//-------------------------------------------------------
function issimilar(L, R: String): boolean;
var
vl, vr: String;
res: boolean;
//---------------------------------------------------------------
function leadingzeroes(S: String): String;
begin
while (length(S) > 1) and (S[1] = '0') do
S := midstr(S, 2, length(S) - 1);
result := S
end;
//---------------------------------------------------------------
function trailingzeroes(S: String): String;
var
pp: integer;
begin
pp := pos(opt.r.decimalpoint, S);
if pp > 0 then
while (length(S) > pp) and (S[length(S)] = '0') do
S := midstr(S, 1, length(S) - 1);
result := S
end;
//---------------------------------------------------------------
function isPrefix(S1, S2: String): boolean;
begin
if (length(S1) < 3) or (length(S1) > length(S2)) then
result := false
else
result := MidStr(S2, 1, length(S1)) = S1
end;
//---------------------------------------------------------------
function isnumber(S: String): boolean;
var
i, d, ll: integer;
res: boolean;
begin
res := true;
if length(S) = 0 then
res := false;
for i := 1 to length(S) do
res := res and charinset(S[i], ['0' .. '9', opt.r.decimalpoint, '+', '-',
'$', '']);
d := pos(opt.r.decimalpoint, S);
if d > 0 then begin
ll := length(S);
d := pos(opt.r.decimalpoint, midstr(S, D + 1, ll));
res := res and (d <= 0)
end;
result := res;
end;
begin
//
res := false;
vl := L;
vr := R;
//remove separators
vl := StringReplace(vl, FDB, '', [rfReplaceAll]);
vr := StringReplace(vr, FDB, '', [rfReplaceAll]);
//
if isnumber(vl) and isnumber(vr) then begin
//
if charinset(vl[1], ['-', '+']) then
vr := midstr(vr, 2, length(vr));
if charinset(vr[1], ['-', '+']) then
vr := midstr(vr, 2, length(vr));
//leading 0's
vl := leadingzeroes(vl);
vr := leadingzeroes(vr);
//trailing 0's
vl := trailingzeroes(vl);
vr := trailingzeroes(vr);
//
res := vl = vr;
end;
//
result := res;
end;
[ zur Elbe Produktseite wechseln0.451Quellennavigators
]
|
|