Heim > Backend-Entwicklung > PHP-Tutorial > PHP小数点最后一位加1、减1

PHP小数点最后一位加1、减1

WBOY
Freigeben: 2016-06-06 20:09:38
Original
1563 Leute haben es durchsucht

比如我有几个数字(小数点后面的位数不固定):

1、155.055
2、122.196
3、0.9631

我怎么做才能让这些数字的小数点最后一位+1,或者-1?比如+1的话希望得到:

1、155.056
2、122.197
3、0.9632

回复内容:

比如我有几个数字(小数点后面的位数不固定):

1、155.055
2、122.196
3、0.9631

我怎么做才能让这些数字的小数点最后一位+1,或者-1?比如+1的话希望得到:

1、155.056
2、122.197
3、0.9632

<code>$num =12.2346;
$tmp = explode('.',$num);
$dec = end($tmp);
$count = strlen($dec);
$p= pow(0.1,$count);
$result = $num+$p;
echo($result);
</code>
Nach dem Login kopieren

自己改成函数吧, 有些地方还要加些判断,

都存成整数吧,然后存储一个小数点的位置。
因为 float 型 还是不能准确的表示 0.1 0.01 0.001 。。。等数据的,多次添加删除之后会有累计误差,甚至加了跟没加一样。
比如

<code>0.1+0.2 == 0.30000000000000004</code>
Nach dem Login kopieren

$n = 10.123;
$fix = floatval(pow(10, strlen(explode('.', strval($n))[1])));
$n = ($n*$fix + 1)/$fix;

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage