我必须存储有许多小数位的数字。例如:0.000000054
如果我将其存储在列浮动数据类型中,则值保存为:5.4E-8
这个值必须以原始格式显示在php模板中,我该怎么做?
将小数存储到varchar中是否正确?
0.000000054
和5.4E-8
都是相同浮点值的字符串表示。当转换为字符串时,PHP更喜欢显示后一个,因为它使用的字符更少。这种编号方式允许将更小/更大的数字存储在相同数量的内存中。
要强制输出为第一种类型的字符串,请使用number_format()
number_format($myFloat, 9);
它来了:
$number = 0.000000054;
echo sprintf('%.9f', $number);
// ^---- this number indicates how many digits are shown //
仅用于显示。编程语言将大量数字转换为潜在的格式是很正常的。你可以用它们来计算,就像用任何其他数字一样。
手动sprintf