我正在考虑用于本地化目的的功能,我确切地知道它应该做什么,和如何做到这一点,但我不能为我的生活找出一个这个名字好。我很确定英语中有一个不错的标准表达式可以很好地应用于这个东西,我找不到它。
问题本身完全与语言无关,但这里的代码是用PHP编写的,因为这就是我现在所写的内容。
所以,请说出我的功能!
/**
* Expand a number into a format string based on its value, giving
* different format strings for 0, 1 and greater than one.
*
* example:
* myFun(count($apples), 'No apples', 'one apple', '%d apples.');
*
* @param integer $aNumber
* @param string $ifZero
* @param string $ifOne
* @param string $ifGreaterThanOne
* @return string
*/
function myFunc($aNumber, $ifZero, $ifOne, $ifGreaterThanOne)
{
assert('is_integer($aNumber) && $aNumber > -1;');
assert('is_string($ifZero);');
assert('is_string($ifOne);');
assert('is_string($ifGreaterThanOne);');
$result = null;
if ($aNumber == 0)
{
$result = strpos($ifZero, '%d') > -1
? sprintf($ifZero, $aNumber)
: $ifZero;
}
else if ($aNumber == 1)
{
$result = strpos($ifOne, '%d') > -1
? sprintf($ifOne, $aNumber)
: $ifOne;
}
else
{
$result = strpos($ifGreaterThanOne, '%d') > -1
? sprintf($ifGreaterThanOne, $aNumber)
: $ifGreaterThanOne;
}
return $result;
}
答案 0 :(得分:1)
它做什么?它会格式化。
它的作用是什么?号。
它如何区分数字?二进制位。
binned_number_format
这是我的建议(或者这三个单词的某些组合,按照您认为最具逻辑吸引力的顺序)。
答案 1 :(得分:1)
我见过的最技术名称是“CardinalityLabel”,但我通常将其称为CountLabel。
答案 2 :(得分:0)
您正在做的是将整数转换为自然语言表达式。 所以我会选择:
int2natural();
答案 3 :(得分:0)
humanize_item_count(...)
或者
humanize_item_quantity(...)