gpt4 book ai didi

php - 在 PHP 中将粗俗的分数转换为数字

转载 作者:行者123 更新时间:2023-12-02 07:23:18 25 4
gpt4 key购买 nike

如何将粗俗的分数转换成 PHP 可以用来计算其值的东西。

例如 ¾

$l = '¾';

echo utf8_encode($l) . ' :: ' .ord($l) . ' :: ' . bin2hex($l) . ' :: ' . chr($l);

会输出这样的东西:

¾::194::c2be::

我们怎样才能把它变成 3/4。当从字符串中提取分数时,结果是不同的:

    $l = '¾ asd';
$r = utf8_encode($l[0]) . ' :: ' .ord($l[0]) . ' :: ' . bin2hex($l[0]) . ' :: ' . chr($l[0]);
echo $r;
echo ' ' ;
$l = '½ asd';
$r = utf8_encode($l[0]) . ' :: ' .ord($l[0]) . ' :: ' . bin2hex($l[0]) . ' :: ' . chr($l[0]);
echo $r;

输出:

�::194::c2::�::194::c2::

最佳答案

你可以使用 iconv()将符号音译为易于解析的形式:

function utf8FractionToFloat($symbol)
{
$translit = trim(iconv('UTF-8', 'ASCII//TRANSLIT', $symbol));

if ($translit && preg_match('~^(\d+)/(\d+)$~', $translit, $match)) {
return $match[1] / $match[2];
}
}

var_dump(utf8FractionToFloat('½')); // float(0.5)
var_dump(utf8FractionToFloat('¾')); // float(0.75)

关于php - 在 PHP 中将粗俗的分数转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37415458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com