我在 PHP 和 WinForms (C#) 中遇到了很多关于 Decimal 数据类型的问题。看,我已经为客户建立了一个网站和一个订单和库存管理应用程序,但通常这些值会变得一团糟。我对你们如何处理定价、折扣和运费很感兴趣。你使用 float ,双小数吗?
我发誓,我刚开始学习 PHP 并使用 VARCHAR 进行定价时遇到的麻烦更少! (我没有夸张)
在我的客户数据库中,假设我有以下内容:
Column Name Column Name Column Name Column Name
Price Quantity Discount LineTotal
除数量外,所有列都是小数数据类型。数量列为整数。
当我进行非常基本的计算时,例如:
$LineTotal = $Price * $Quantity;
我得到了愚蠢的结果,像这样:
5.98888
7.
9.111
0.4442
而且,最糟糕的是,它通常会完全从计算中删除数字:
例如,如果乘法的结果是(或者应该是):4.92
我去看看数据库,它会说:4
我的 .92
美分在哪里?
这可能是什么原因造成的?我做错了什么吗?
最佳答案
据我所知,PHP 不支持小数类型。所以问题可能是关于 $LineTotal
、$Price
和 $Quantity
变量的真正类型。考虑使用调查:http://php.net/manual/en/function.gettype.php
关于c# - 数据类型和古怪的结果 PHP/C#/WinForms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6086377/