我在php中有一个字符串变量,其值为000001422
,我曾经修改它以便以更好的方式显示它:
<?php
$hits = "000001422";
$var = (int)$hits;
$var = abbreviateNumber($var);
echo $var; ?>
这是裁剪和缩写1,4k
function abbreviateNumber(value) {
var newValue = value;
if (value >= 1000) {
var suffixes = ["", "k", "m", "b","t"];
var suffixNum = Math.floor( (""+value).length/3 );
var shortValue = '';
for (var precision = 2; precision >= 1; precision--) {
shortValue = parseFloat( (suffixNum != 0 ? (value / Math.pow(1000,suffixNum) ) : value).toPrecision(precision));
var dotLessShortValue = (shortValue + '').replace(/[^a-zA-Z 0-9]+/g,'');
if (dotLessShortValue.length <= 2) { break; }
}
if (shortValue % 1 != 0) shortNum = shortValue.toFixed(1);
newValue = shortValue+suffixes[suffixNum];
}
return newValue;
}
这很有效。
现在我试图将我的代码切换到AngularJS(我还在学习它)所以我的价值不是php变量,而是从$ http请求收到的范围变量。我有{{x.count}}
这样的000001422
,但我希望以与之前相同的方式显示它。
我尝试$hits = "{{x.count}}";
,但它没有工作,我认为这不是正确的做法。你能以正确的方式解决这个问题吗?
修改
我删除了使用{{x.count - 0}}
将值转换为int的初始零,但仍需要应用我的缩写函数。