84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
比如我有几个数字(小数点后面的位数不固定):
1、155.0552、122.1963、0.9631
我怎么做才能让这些数字的小数点最后一位+1,或者-1?比如+1的话希望得到:
1、155.0562、122.1973、0.9632
认证高级PHP讲师
$num =12.2346; $tmp = explode('.',$num); $dec = end($tmp); $count = strlen($dec); $p= pow(0.1,$count); $result = $num+$p; echo($result);
自己改成函数吧, 有些地方还要加些判断,
都存成整数吧,然后存储一个小数点的位置。因为 float 型 还是不能准确的表示 0.1 0.01 0.001 。。。等数据的,多次添加删除之后会有累计误差,甚至加了跟没加一样。比如
0.1+0.2 == 0.30000000000000004
$n = 10.123;$fix = floatval(pow(10, strlen(explode('.', strval($n))[1])));$n = ($n*$fix + 1)/$fix;
自己改成函数吧, 有些地方还要加些判断,
都存成整数吧,然后存储一个小数点的位置。
因为 float 型 还是不能准确的表示 0.1 0.01 0.001 。。。等数据的,多次添加删除之后会有累计误差,甚至加了跟没加一样。
比如
$n = 10.123;
$fix = floatval(pow(10, strlen(explode('.', strval($n))[1])));
$n = ($n*$fix + 1)/$fix;