String ku PHP-ê biherike

îfadeya matematîkê ji rêzek bi karanîna eval hesab bike
Taybetmendiyên Nû di PHP 8.0 de

Di vê çareseriyê de, em ê fêr bibin ka meriv çawa di PHP-ê de string bi float veguherîne.

çareserî 1.

Fonksiyona PHP-ê ya ku ji bo hejmareke xala herikîn a diyarkirî (erênî) bi xeletiyek ji toleransê kêmtir e, nêzîkbûnek maqûl dibîne.

<?php
function float2rat($n, $tolerance = 1.e-6) {
    $h1=1; $h2=0;
    $k1=0; $k2=1;
    $b = 1/$n;
    do {
        $b = 1/$b;
        $a = floor($b);
        $aux = $h1; $h1 = $a*$h1+$h2; $h2 = $aux;
        $aux = $k1; $k1 = $a*$k1+$k2; $k2 = $aux;
        $b = $b-$a;
    } while (abs($n-$h1/$k1) > $n*$tolerance);

    return "$h1/$k1";
}

printf("%s\n", float2rat(66.66667)); # 200/3
printf("%s\n", float2rat(sqrt(2)));  # 1393/985
printf("%s\n", float2rat(0.43212));  # 748/1731
îfadeya matematîkê ji rêzek bi karanîna eval hesab bike
Taybetmendiyên Nû di PHP 8.0 de
nêzîkî

Di derbarê PHP-ê de rojane bimînin!

Em spam nakin!

en English
X
Scroll to Top