Php 如何使用float保持.00?

Php 如何使用float保持.00?,php,casting,Php,Casting,我正在尝试将一个值从mysql转换为浮点类型 我有一个带有十进制类型列的表 当我从表中查询值时,这些值将作为php中预期的字符串返回 当我用floatval$value转换一个值时,它会在php中将该值转换为float类型 问题是,如果我将33.00作为其参数传递,floatval将下降0.00 我知道我可以使用number_格式,但这会再次将值转换回字符串 如何在PHP中将字符串33.00转换为浮点类型?在注释中引用W3C的话: <?php echo number_format("100

我正在尝试将一个值从mysql转换为浮点类型

我有一个带有十进制类型列的表

当我从表中查询值时,这些值将作为php中预期的字符串返回

当我用floatval$value转换一个值时,它会在php中将该值转换为float类型

问题是,如果我将33.00作为其参数传递,floatval将下降0.00

我知道我可以使用number_格式,但这会再次将值转换回字符串


如何在PHP中将字符串33.00转换为浮点类型?

在注释中引用W3C的话:

<?php
echo number_format("1000000")."<br>";//1,000,000
echo number_format("1000000",2)."<br>";//1,000,000.00
echo number_format("1000000",2,",",".");//1.000.000,00
?>

只需将2更改为您想要的任何其他数字。

使用floatval将字符串转换为float;当显示为输出时,使用sprint或number_格式来显示一组小数位数。如果您处理的是货币值,则不要使用float-您将失去精度,错误可能会传播。乘以100,以整数运算。在显示点进行分割和格式化。@MarkBaker//问题是33!==33.00. 如果我使用floatval33.00,它会将值转换为33,这不是33.00。doing 33===33.00不是比较两个浮点,而是比较一个整数和一个浮点,而是一个强类型比较,因此它将返回false;doing 33==33.00是一种松散类型的比较,将返回trueDo作为松散比较,或者使用floatval和compare将两者转换为float,但要注意浮点精度问题