Rumah > pembangunan bahagian belakang > tutorial php > 关于printf格式化输出问题

关于printf格式化输出问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:35:48
asal
978 orang telah melayarinya

$a = 123.666;   
printf("%.2f", $a);
$b = 10.85;
print("
");
printf("%.1f",$b);


为什么结果是
123.67
10.8 
前一个四舍五入了,后一个没有?


回复讨论(解决方案)

printf("%.1f %.16f", 10.85, 10.85); //10.8 10.8499999999999996
浮点数 10.85 在机器中实际保存为 10.8499999999999996
所以取一位小数时是 10.8

其实这是不必纠结的事情,在计算机基础课程中你就已经学习过浮点数的表示和精度
如果你需要高精度运算,请使用 php 提供的 BC、gml 扩展

明白了,非常感谢!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan