php ROUNDDOWN双号用于版本控制

时间:2019-07-04 10:28:39

标签: php

我将版本号放在double变量中。

例如,我想这样显示

(Internal) (show )
a 1.10000 -> 1.1
b 1.20000 -> 1.2
c 1.14000 -> 1.14

版本控制不是真正的两倍有点问题。

这就像是两个.组合的int数

round($num,1)在情况c中不起作用。

round($num,2)表示情况a,情况b为1.10,1.20。

你知道什么好方法吗?

2 个答案:

答案 0 :(得分:1)

["player23", "8", "chelseaId", "4"]

只需从右侧修剪所有尾随rtrim($num, '0.'); 0

.

(我添加了大小写$numbers = ['a' => '1.10000', 'b' => '1.20000', 'c' => '1.14000', 'd' => '1.0000']; foreach($numbers as $key => $num) { echo $key . ': ' . rtrim($num, '0.') . '<br>'; } // output: // a: 1.1 // b: 1.2 // c: 1.14 // d: 1 ,以显示它也可以处理其他答案的注释中提到的这种“边缘情况”。)

答案 1 :(得分:0)

理想情况下,您不会将版本号存储为数字,因为它们不是真正的数字-除比较之外,您不对它们进行数学运算。如果可能的话,您可能希望将它们存储为字符串(遵循Semantic Versioning是个好主意,但是您当前的方法也适用于字符串)并使用version_compare进行比较。

也就是说,如果您不能再使用基于字符串的版本控制系统,则仍然可以将double视为字符串,而只是...切零:

preg_replace('/0+$/', '', $num)

会给您您想要的东西。