假设我在 PHP
中具有以下代码<?php
$thousands_likes = 1100;
$millions_likes = 2100000;
?>
如何将其转换为类似的内容
1.1k赞或2.1M赞。
答案 0 :(得分:2)
也许尝试为此类任务创建实用程序功能?您可以使用普通数学来计算后缀:
function human_readable_likes($likes): string
{
$i = \floor(\log($likes, 1000));
return \round($likes / 1000 ** $i, [0, 1, 2, 2, 2][$i]).' '.['', 'K', 'M', 'G', 'T'][$i];
}
但是对于您的用例,这可能太多了。
答案 1 :(得分:1)
基于成千上万种事物的简单操作:
class Group {
constructor() {
this.members = [];
}
add(member) {
if (this.has(member)) return;
this.members.push(member);
}
delete(member) {
if (!this.has(member)) return;
this.members.splice(this.members.indexOf(member), 1);
}
has(member) {
return this.members.indexOf(member) !== -1
}
static from(iterable) {
const group = new Group();
for (const element of iterable) {
group.add(element);
}
return group;
}
[Symbol.iterator]() {
let current = 0;
let last = this.members.length - 1;
return {
next: () => {
if (current <= last) {
return {
done: false,
value: this.members[current++]
}
} else return { done:true }
}
}
}
}
for (let value of Group.from(["a", "b", "c"])) {
console.log(value);
}