Práce s různými číselnými bázemi, jako je dvojková nebo šestnáctková soustava, a převod mezi čísly a řetězci je běžnou úlohou. V programu 4D 21 je String a Num příkazy byly vylepšeny, aby tyto převody byly výkonnější.
Převod čísla na řetězec v libovolném základu
Příkaz String nyní podporuje převod z celého čísla na řetězec v libovolném základu od 2 do 36. Díky tomu lze snadno reprezentovat hodnoty ve dvojkové, osmičkové, desítkové, šestnáctkové a dalších soustavách.
var $result := String(6; 2)
// "110" — binary representation of 6
$result := String(254; 16)
// "fe" — hexadecimal representation of 254
$result := String(14256; 36)
// "b00" — base 36 representation of 14256
Převod řetězce na celé číslo
Příkaz Num Příkaz nyní podporuje také analýzu řetězců v libovolném základu od 2 do 36. To je užitečné zejména při práci s hexadecimálními nebo binárními vstupy.
var $result:=Num("110";2)
// $result = 6
$result:=Num("fe";16)
// $result = 254
$result:=Num("b00";36)
// $result = 14256
Poznámka: Vzhledem k tomu, že Num používá historický algoritmus 4D, pokud není zadán žádný základ, a algoritmus ECMAScript, pokud je zadán základ, můžete zaznamenat rozdíly u velmi velkých čísel, jako je 1e+25 a více.
Závěr
Ať už vytváříte nástroj pro vývojáře, ladíte protokoly nebo jen zobrazujete čísla v čitelnějším formátu, tato vylepšení nabízejí větší flexibilitu a kontrolu. Nyní můžete snadno přepínat mezi číselnými bázemi, ověřovat uživatelské vstupy nebo serializovat data ve formátech, jako je šestnáctková nebo dvojková soustava, nativně ve 4D.
K tomuto příspěvku zatím nelze přidávat komentáře.