A有如下存储的价格数据:10.25
百分比数据如此1.1100(1.00%)
我需要一个能够准确地将价格乘以百分比的函数。 (在php中)
由于
答案 0 :(得分:0)
您绝不应将货币存储为小数。总是使用汉堡。
$money * ($percentage / 100)
答案 1 :(得分:0)
如果可能的话,将百分比数据的存储分成两个不同的字段可能是最好的。但是,我相信这会做你想要的。我将它分成两个函数 - “convertPercentageDataToDecimal”从数据中提取百分比并将其转换为小数,然后“convertPercentageDataToDecimal”将价格乘以百分比。
<?php
$price = 10.25;
$percentageData = "1.1100 (1.00%)";
function multiplyPriceByPercentageData($price, $percentageData) {
$percent = convertPercentageDataToDecimal($percentageData);
return $price * $percent;
}
function convertPercentageDataToDecimal($percentageData) {
$start = strpos($percentageData, '(') + 1;
$length = strpos($percentageData, '%') - $start;
$percent = substr($percentageData, $start, $length);
return $percent / 100;
}
var_dump(convertPercentageDataToDecimal($percentageData));
var_dump(multiplyPriceByPercentageData($price, $percentageData));
// output:
// float(0.01)
// float(0.1025)