$b = $del['Antal'];
$y = $info['Pris'];
$z = $y * $b;
$ y来自一个mysql数据库,其类型为“double(10,2)”,这样当我尝试echo $ y时,它就可以工作;它以两位小数作为响应。
但现在我想把它乘以$ b。
例如 10.20 * 2 = 20.40
但现在它就像: 10.20 * 2 = 20.4(只有一位小数)
我想要两位小数,该怎么办?我用(双)函数尝试了一些东西,但没有真正解决。怎么办?
答案 0 :(得分:3)
您可以使用number_format:
$b = $del['Antal'];
$y = $info['Pris'];
$z = number_format($y * $b ,2);
number_format
功能:
string number_format ( float $number [, int $decimals = 0 ] )
如果你不想要默认格式:
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )
答案 1 :(得分:2)
您可以使用sprintf并将其存储为字符串,确保将其存储在小数点后两位:
$z = sprintf('%.2f', $y * $b);
%.2f
确保小数点后总是有两位数。
答案 2 :(得分:2)
您描述的数据类型是固定的点数,而不是浮点点数(浮点数)。 PHP没有这样的数据类型,但它可以为format
浮动。看起来这就是你要找的,格式化输出。
答案 3 :(得分:1)
尝试floatval
:
$z = $y * floatval($b);
可替换地:
$b = (float) $b;
它应该自动转换为浮点数,但是,如果将它乘以10.20。阅读type juggling上的PHP文档。
如果它只是造型的话:
$b = number_format($b, 2);