我需要在PHP中格式化一個浮點數字,以便它可以插入到十進制類型(6,5)的表格中的列中。要插入到MySQL十進制(6,5)字段的float float格式
所以,
20會得到格式化到20.00000
20.5將得到格式化爲20.50000
如何做到這一點在PHP?
我需要在PHP中格式化一個浮點數字,以便它可以插入到十進制類型(6,5)的表格中的列中。要插入到MySQL十進制(6,5)字段的float float格式
所以,
20會得到格式化到20.00000
20.5將得到格式化爲20.50000
如何做到這一點在PHP?
爲了避免浮點固有的精度誤差, 先投到十進制(9,2),然後再轉換爲十進制(6,5)。
要格式化數只使用
<?php
echo number_format(20, 5); //returns 20.00000
echo number_format(20.5, 5); //returns 20.50000
?>
但你並不需要做的是插入到一個MySQL數據庫。
小心'number_format',這裏給出它可能會插入一個千位分隔符!參見[number_format](http://www.php.net/manual/en/function.number-format.php) – bart 2012-02-16 12:38:37
第二個參數是十進制: 'string number_format(float $ number [,int $ decimals = 0 ])「我錯了嗎? – Juanma 2012-02-16 13:06:26
@bart是的,要非常小心 - 我剛跑過這個bug,當一個不同的數字在數據庫中結束時...... – 2012-06-09 03:31:17
http://php.net/number_format – 2012-02-16 12:17:31
你不需要格式化它...... – 2012-02-16 12:19:22
僅供參考,你不能在'DECIMAL(6,5)'類型的列中存儲'20' - 'SQL錯誤(1264):超出範圍值' – 2012-02-16 12:22:47