使用number_format添加千位分隔符
问题描述:
我试图很简单地把变量$输出里面的数字变成带有千位分隔符的数字。它当前输出的数字是49995,但我希望它显示为49,995。使用number_format添加千位分隔符
有些麻烦。帮帮我?
function twitter_followers($user = 'mytwitterusername'){
// Build Twitter api url
$apiurl = "http://api.twitter.com/1/users/show.json?screen_name={$user}";
//cache request
$transient_key = $user . "_twitter_followers";
// If cached (transient) data are used, output an HTML
// comment indicating such
$cached = get_transient($transient_key);
if (false !== $cached) {
return $cached;
}
// Request the API data, using the constructed URL
$remote = wp_remote_get(esc_url($apiurl));
// If the API data request results in an error, return
// an appropriate comment
if (is_wp_error($remote)) {
return '<p>Twitter unaviable</p>';
}
// If the API returns a server error in response, output
// an error message indicating the server response.
if ('200' != $remote['response']['code']) {
return '<p>Twitter responded with an HTTP status code of '. esc_html($remote['response']['code']) . '</p>';
}
// If the API returns a valid response, the data will be
// json-encoded; so decode it.
$data = json_decode($remote['body']);
$output = $data->followers_count;
$followers = number_format($output,2,'.',',');
set_transient($transient_key, $output, 600);
return $followers;
}
答
我测试过下面的代码和它的作品:
$output = 49995;
$followers = number_format($output , 0 , '.' , ',');
echo $followers;
不知道为什么你的代码不能正常工作。另外请确保将第二个参数设置为0,除非您想要小数点。也许$输出的值最初是一个字符串,你需要把它作为一个整数,然后通过number_format()?
答
您的number_format似乎是正确的。在调用它之前尝试的
$output = intval($data->followers_count);
,也许有值解码后的问题。
应该这样做,'var_dump($ output);'给你什么? – jeroen 2012-07-12 20:28:10