如何在PHP中将NAN转换为0

时间:2019-10-10 18:06:00

标签: php sql nan

我正在计算数据库表中值的百分比,但是,当没有值时,该函数返回NAN,而我希望该函数返回0,那么该函数正在使用的是:

function calculate_percentages($atts){         
    global $wpdb;
    $postid = get_the_ID();
    $myrate_name = "sql_table_name";
    $total_count = $wpdb->get_var( "SELECT SUM(rates) FROM $myrate_name WHERE post_id=$postid");
    $top = $wpdb->get_var( "SELECT SUM(rates) FROM $myrate_name WHERE  rating = 5 AND post_id=$postid");
    $top_avarage = round($top/$total_count*100);
    return $top_avarage;

2 个答案:

答案 0 :(得分:4)

您之所以得到NAN,是因为$total_count0或等于0的值,并且您不能除以0

$top_average = $total_count != 0 ? round($top/$total_count*100) : 0;

答案 1 :(得分:1)

您有一个可以使用is_nan

的php函数
$top_average = !is_nan($top/$total_count*100) ? round($top/$total_count*100) : 0;