多个2位小数位数百分比

时间:2010-04-10 17:27:38

标签: php decimal currency

A有如下存储的价格数据:10.25

百分比数据如此1.1100(1.00%)

我需要一个能够准确地将价格乘以百分比的函数。 (在php中)

由于

2 个答案:

答案 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)