Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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_String - Fatal编程技术网

Php 在字符串中对数字进行四舍五入的最干净方法

Php 在字符串中对数字进行四舍五入的最干净方法,php,string,Php,String,我有这样一个字符串: 10,14.5,3.6,10.4,2 我想对每个数字进行四舍五入,结果如下: 10,14,3,10,2 我在寻找最干净、最快的解决方案?我的第一个想法是将它们分解成一个数组,然后运行一个循环,并对每个值加上下限,但这对我来说似乎有点笨拙 我还认为也许使用正则表达式只是删除每个值的小数点后的所有内容,但我不知道如何做,或者它是否更有效 有人有什么建议吗 $array = explode(",",'10,14.5,3.6,10.4,2'); $string = implode(

我有这样一个字符串:

10,14.5,3.6,10.4,2

我想对每个数字进行四舍五入,结果如下:

10,14,3,10,2

我在寻找最干净、最快的解决方案?我的第一个想法是将它们分解成一个数组,然后运行一个循环,并对每个值加上下限,但这对我来说似乎有点笨拙

我还认为也许使用正则表达式只是删除每个值的小数点后的所有内容,但我不知道如何做,或者它是否更有效

有人有什么建议吗

$array = explode(",",'10,14.5,3.6,10.4,2');
$string = implode(",",array_map('floor',$array));

老实说,对我来说,最“笨重”的事情是你的数据一开始就是这种格式的。只做你需要做的事情。@WesleyMurch我知道,但当你使用你没有编写代码的应用程序时,你就会得到这些。如果一个客户付钱给你买了一个增强功能,你不可能仅仅因为他们的格式很糟糕就从零开始编写整个代码。当然,但是你也不需要担心“最干净、最快的解决方案”。把工作做完,继续前进。FWIW我没有选择否决投票或结束投票,但如果你能告诉我们你目前的解决方案有什么问题,那就更好了。不是真的。在这一点上,我正在做他们最初的程序员做的事情。我想学习如何以最好的方式去做,不仅仅是为了客户,也是为了我自己。你永远不知道它什么时候会派上用场。是的,我同意。请记住,在这种情况下,易于阅读的代码比快速简洁的代码更有价值。考虑下一个GUI。谢谢。这肯定比我所做的要干净得多。@zen:很高兴帮助你!