Steem Reputation Format Function in PHP
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.
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:
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
Every little helps! I hope this helps!
Steem On!~
Reposted to Blog
If you like my work, please consider voting for me, thanks!
https://steemit.com/~witnesses type in justyy and click VOTE
Alternatively, you could proxy to me if you are too lazy to vote!
Also: you can vote me at the tool I made: https://steemyy.com/witness-voting/?witness=justyy
I chose to witness
Thanks!
啪啪啪
谢谢