Php 转换为十进制时缺少前导零
下面是我的SQL查询。我已经将其转换为小数点后2位。但当值为前导数为零时,它会显示“.##”其中“#”是数字 SQL查询:Php 转换为十进制时缺少前导零,php,sql,Php,Sql,下面是我的SQL查询。我已经将其转换为小数点后2位。但当值为前导数为零时,它会显示“.##”其中“#”是数字 SQL查询: 将(SHIFTCLOSING.OPENINGAMOUNT转换为十进制(18,2))转换为OPENINGAMOUNT 值12.35486==>输出为PHP 12.35(正常) 值0.34845==>PHP中的输出。3484(不显示0)您可能从数据库中获取字符串。您可以尝试使用PHP的printf()函数强制设置格式 如果您使用printf('%.4f',0.34845')(%
将(SHIFTCLOSING.OPENINGAMOUNT转换为十进制(18,2))转换为OPENINGAMOUNT
值12.35486==>输出为PHP 12.35(正常)
值0.34845==>PHP中的输出。3484(不显示0)您可能从数据库中获取字符串。您可以尝试使用PHP的
printf()
函数强制设置格式
如果您使用
printf('%.4f',0.34845')
(%f
用于显示浮点值,.4
设置四位小数),您将得到一个前导为零的字符串0.3484
。您也可以使用sprintf()
相反,如果您希望将该值设置为变量,请注意它将是字符串而不是数字。您可能从数据库中获取字符串。您可以尝试使用PHP的printf()
函数强制设置格式
如果您使用
printf('%.4f',0.34845')
(%f
用于显示浮点值,.4
设置四位小数),您将得到一个前导为零的字符串0.3484
。您也可以使用sprintf()
相反,如果希望将该值设置为变量,请注意它将是字符串而不是数字。使用SQL格式
,然后将模式设置为'0。
,当缺少时,它将强制前导零
FORMAT(CAST(SHIFTCLOSING.OPENINGAMOUNT AS DECIMAL(18,2)), '0.##') AS OPENINGAMOUNT
请参阅:使用SQL
格式
,然后将模式设置为'0.##'
,它将在缺少时强制前导零
FORMAT(CAST(SHIFTCLOSING.OPENINGAMOUNT AS DECIMAL(18,2)), '0.##') AS OPENINGAMOUNT
请参阅:如何在php中显示结果?请正确设置问题的格式。/I回显值。无论如何,我在下面找到了答案。您如何在php中显示结果?请正确设置问题的格式。/I回显值。无论如何,我在下面找到了答案,我使用了
'0.34845'
作为第二个参数来说明,您应该将实际变量与从数据库中检索到的值一起使用。我使用'0.34845'
作为第二个参数只是为了说明,您应该将实际变量与从数据库中检索到的值一起使用。