PHP intval vs floor

时间:2016-04-28 20:17:29

标签: php floor money-format

floor()intval()之间有什么区别吗?虽然两者都返回相同的结果,但在性能方面是否有任何问题?哪两个更快?如果我只想返回小数的整个值,那么使用哪个正确的php函数?

此处的目标是显示1999.99至1999,省略小数值并仅返回整数。

$num = 1999.99;
$formattedNum = number_format($num)."<br>";
echo intval($num) . ' intval' . '<br />';
echo floor($num) . ' floor';

5 个答案:

答案 0 :(得分:12)

这些函数给出了不同的结果和负分数。

echo floor(-0.1); // -1
echo intval(-0.1); // 0

答案 1 :(得分:3)

根据docs

  

floor()的返回值仍然是float类型,因为float的值范围通常大于整数。

但是,

Intval()返回一个int。

答案 2 :(得分:1)

最快的方法是使用type casting(int)$num

答案 3 :(得分:-1)

$v = 1999.99;
var_dump(
  intval($v),
  floor($v)
);

输出:

int(1999)
float(1999)

文档:

http://php.net/manual/en/function.intval.php
http://php.net/manual/en/function.floor.php

答案 4 :(得分:-1)

# tf.nn.softmax computes softmax activations
# softmax = exp(logits) / reduce_sum(exp(logits), dim)
logits = tf.matmul(X, W) + b
hypothesis = tf.nn.softmax(logits)

# Cross entropy cost/loss
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits,
                                             labels=Y_one_hot))

输出: 56 | 55 | 56 | 55

$ noDeci返回55 ???