Steem Reputation Format Function in PHP

  • 时间:2020-09-08 11:08:55
  • 分类:网络文摘
  • 阅读:136 次

On Steem Blockchain, the reputation can be formatted in a logarithmetic (base 10) scale. Given recently, my PR to fix the reputation formatter in SteemJS is merged, I also translate this to PHP which I need.

1
2
3
4
5
6
7
8
9
function formatReputation($rep) {
    if (!$rep) return 25;
    $neg = $rep < 0;
    $rep = (string)$rep;
    $rep = $neg ? substr($rep, 1) : $rep;
    $v = log10(($rep > 0 ? $rep : -$rep) - 10) - 9;
    $v = $neg ? -$v : $v;
    return round($v * 9 + 25, 3);
}
function formatReputation($rep) {
    if (!$rep) return 25;
    $neg = $rep < 0;
    $rep = (string)$rep;
    $rep = $neg ? substr($rep, 1) : $rep;
    $v = log10(($rep > 0 ? $rep : -$rep) - 10) - 9;
    $v = $neg ? -$v : $v;
    return round($v * 9 + 25, 3);
}

Some Example usages:

1
2
3
4
5
6
echo formatReputation(95832978796820) . "\n";
echo formatReputation(10004392664120) . "\n";
echo formatReputation(30999525306309) . "\n";
echo formatReputation(-37765258368568) . "\n";
echo formatReputation(334486135407077) . "\n";
echo formatReputation(0) . "\n";
echo formatReputation(95832978796820) . "\n";
echo formatReputation(10004392664120) . "\n";
echo formatReputation(30999525306309) . "\n";
echo formatReputation(-37765258368568) . "\n";
echo formatReputation(334486135407077) . "\n";
echo formatReputation(0) . "\n";

The above PHP code should output the following values (you can use them to unit test the function):

69.834
61.002
65.422
-16.194
74.719
25
php Steem Reputation Format Function in PHP blockchain php SteemIt

php

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
求发芽率、合格率、出粉率等百分率的公式中为什么都要乘100%?  为什么公历7月和8月都是31天  引流粉丝到公众号,网站运营的一点思考,引流技巧实操  站长如何赚钱?下面七条你做到了么?  个人站长成功的七条经验分享  个人站长必备的几个专业网站,能快速提高你的效率  站长赚钱方法 联盟广告赚钱方法  “时刻”和“时间”有什么不同?  互质的两个数一定是质数吗?  两个质数的和为奇数,为什么必有一个为2? 
评论列表
添加评论