2012-04-23 81 views
4

我正在用PHP和MySQL構建一種會計系統。我的數據庫有​​列的貨幣,對於使用貨幣操作的所有其他值(如應用的百分比),也有DECIMAL。我以前從未編程過這樣的東西,所以我不確定我做的是正確的事情。會計系統 - MySQL和PHP精度

我是否在數據庫中使用了正確的精度級別?

在PHP端:

我應該使用BC數學函數在以後可能存儲在數據庫中的任何值?

我還必須格式化貨幣值,作爲小數點,而.作爲千位分隔符。我知道number_format,最近發現money_format,但手冊說這兩個操作與浮游物。

我可以使用number_formatmoney_format獲取將顯示或導出爲CSV或Excel的值嗎?

+0

我可能是錯的,但通常金融系統至少會使用3個小數位數('DECIMAL(10,3)').PHP本身對浮點數並不是很好;最好的做法可能是做x100並只使用整數,可選地使用BC Math。 – 2012-04-23 03:12:41

+0

只是一個快速註釋 - 通常不會。一個最好的辦法用金錢工作時使用花車 – 2012-04-23 03:23:18

+3

@pyrate我知道,這就是爲什麼我問的問題 – bfavaretto 2012-04-23 03:51:33

回答

0

您可以使用number_format()將內容顯示或導出爲csv/excel。但請注意,使用帶逗號(,)的小數點分隔符的數字格式()以csv/excel格式導出時,必須使用雙引號(「)。 Just like "2,22.00".

+0

謝謝,我不知道。無論如何,我想我會以美國格式導出這些值,並且本地化的Excel副本應該會自動檢測,並以當前語言環境的正確格式顯示值。 – bfavaretto 2012-04-25 01:56:05