Rumah  >  Artikel  >  pembangunan bahagian belakang  >  关于printf格式化输出有关问题

关于printf格式化输出有关问题

WBOY
WBOYasal
2016-06-13 12:18:41834semak imbas

关于printf格式化输出问题
$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:
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
Artikel sebelumnya:PHPnow筹建指南Artikel seterusnya:关于查找,替换,请