2012-02-16 62 views
0

我需要在PHP中格式化一個浮點數字,以便它可以插入到十進制類型(6,5)的表格中的列中。要插入到MySQL十進制(6,5)字段的float float格式

所以,

20會得到格式化到20.00000

20.5將得到格式化爲20.50000

如何做到這一點在PHP?

+0

http://php.net/number_format – 2012-02-16 12:17:31

+2

你不需要格式化它...... – 2012-02-16 12:19:22

+1

僅供參考,你不能在'DECIMAL(6,5)'類型的列中存儲'20' - 'SQL錯誤(1264):超出範圍值' – 2012-02-16 12:22:47

回答

1

爲了避免浮點固有的精度誤差, 先投到十進制(9,2),然後再轉換爲十進制(6,5)。

1

要格式化數只使用

<?php 
echo number_format(20, 5); //returns 20.00000 
echo number_format(20.5, 5); //returns 20.50000 
?> 

但你並不需要做的是插入到一個MySQL數據庫。

+2

小心'number_format',這裏給出它可能會插入一個千位分隔符!參見[number_format](http://www.php.net/manual/en/function.number-format.php) – bart 2012-02-16 12:38:37

+0

第二個參數是十進制: 'string number_format(float $ number [,int $ decimals = 0 ])「我錯了嗎? – Juanma 2012-02-16 13:06:26

+0

@bart是的,要非常小心 - 我剛跑過這個bug,當一個不同的數字在數據庫中結束時...... – 2012-06-09 03:31:17