我想知道是否有一个很好的方法来获得十进制数
PHP右/左侧的位数.例如:
12345.789 – >右侧长度为3 /左侧长度为5
我知道通过帮助字符串函数和爆炸数字很容易实现.我的意思是有一种数学或编程方式来执行它比字符串操作更好.
非常感谢您的回答.
更新
到目前为止左侧的最佳解决方案是:
$left = floor(log10($x))+1;
但仍然没有足够的右侧.
还在等……
解决方法
我迷失在PHP语义上很大的时间,但我想以下将在没有String使用的情况下服务于你的目的(至少我会用Java做什么,但希望更干净):
这里的工作代码:http://ideone.com/7BnsR3
非字符串解决方案(仅限数学)
$value = 12343525.34541; $left = floor(log10($value))+1; echo($left); $num = floatval($value); $right = 0; while($num != round($num,$right)) { $right++; } echo($right);
打印
85
LHS为8,RHS为5.