Maison > développement back-end > tutoriel php > PHP小数点最后一位加1、减1

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

WBOY
Libérer: 2016-06-06 20:09:38
original
1563 Les gens l'ont consulté

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

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>
Copier après la connexion

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

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

<code>0.1+0.2 == 0.30000000000000004</code>
Copier après la connexion

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

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal