php怎么实现更改分数,在PHP中将低级分数转换为数字

标签:php

如何将低级分数转换为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

来源: https://codeday.me/bug/20191012/1900079.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值