Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带前导零的正浮点数和负浮点数的PHP格式_Php_Floating Point_Printf_Number Formatting_Negative Number - Fatal编程技术网

带前导零的正浮点数和负浮点数的PHP格式

带前导零的正浮点数和负浮点数的PHP格式,php,floating-point,printf,number-formatting,negative-number,Php,Floating Point,Printf,Number Formatting,Negative Number,场景: 从正浮点数和负浮点数中修剪前导零的步骤 输入: 000.123 00.123 01.123 -001.123 -00.123 -040.123 期望输出: 0.123 0.123 1.123 -1.123 -0.123 -40.123 问题: 是否有一个内置函数可以使这种特定的格式设置比通过组合使用substr()、strpos()、explode()和if语句来运行每个数字更简单、更高效?只需将其转换为float 像这个例子: <?php $number = '-000.22

场景:
从正浮点数和负浮点数中修剪前导零的步骤

输入:

000.123
00.123
01.123
-001.123
-00.123
-040.123
期望输出:

0.123
0.123
1.123
-1.123
-0.123
-40.123
问题:

是否有一个内置函数可以使这种特定的格式设置比通过组合使用
substr()
strpos()
explode()
if
语句来运行每个数字更简单、更高效?

只需将其转换为
float

像这个例子:

<?php
$number = '-000.220';
echo (float)$number;

我猜您的数字保存为字符串,因此为了获得输出,您只需将它们简单地转换为
浮点值
双精度
,如下所示:

echo (float) $number;

有关强制转换的更多信息,请参阅手册:

请向我们展示您目前拥有的功能,这样我们至少可以看到您尝试了一些东西,而不仅仅是要求我们编写代码(顺便说一句:强制转换为float就可以了:
echo(float)$str;
)@Rizier123我尝试了多种组合
substr()
strps()
explode()
if
语句。太多无法列出。请尝试以下操作:
echo sprintf(“%01.3lf”,$number)甚至更简单:
echo(float)$number这对你有用吗?@Rizier123对float进行类型转换就可以了!谢谢你。请作为答案发布。完成!我很高兴能帮助你