php - 如何在 php 中将以千万为单位的金额转换为十进制值?

标签 php number-formatting

我的产品价格为 5005000 卢比/-(500 万和 5000 卢比)。我想转换成 505 万卢比。是否有任何 PHP 函数可以做到这一点。我尝试搜索 StackOverflow 并仅获得 number_words 转换。在一个名为 99 acres 的网站上,他们是这样做的:http://www.99acres.com/Bangalore-Real-Estate.htm .谁能帮忙

最佳答案

    <?php
function count_digit($number) {
  return strlen($number);
}

function divider($number_of_digits) {
    $tens="1";

  if($number_of_digits>8)
    return 10000000;

  while(($number_of_digits-1)>0)
  {
    $tens.="0";
    $number_of_digits--;
  }
  return $tens;
}
//function call
$num = "789";
$ext="";//thousand,lac, crore
$number_of_digits = count_digit($num); //this is call :)
    if($number_of_digits>3)
{
    if($number_of_digits%2!=0)
        $divider=divider($number_of_digits-1);
    else
        $divider=divider($number_of_digits);
}
else
    $divider=1;

$fraction=$num/$divider;
$fraction=number_format($fraction,2);
if($number_of_digits==4 ||$number_of_digits==5)
    $ext="k";
if($number_of_digits==6 ||$number_of_digits==7)
    $ext="Lac";
if($number_of_digits==8 ||$number_of_digits==9)
    $ext="Cr";
echo $fraction." ".$ext;
?>
  1. 数数number_of_digit
  2. 取(number_of_digit-1)位十进制值
  3. 把它分开。
  4. 从位数中找出值的扩展。
  5. 输出将是

123456789 = 12.34 Cr

23456789 = 2.34 Cr

3456789 = 34.56 Lac

456789 = 4.56 Lac

56789 = 56.78 K

6789 = 6.78 K

如果任何测试用例失败。请告诉我。我会改正

关于php - 如何在 php 中将以千万为单位的金额转换为十进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33095546/

相关文章:

python - 你可以格式化 pandas 整数以进行显示,例如 `pd.options.display.float_format` 用于 float 吗?

ios - 在 ios 中格式化数字

php - 返回与多个查询标签匹配的搜索结果?

在非 Drupal 脚本中无法访问 Drupal 中设置的 PHP cookie

PHP 更新现有 MySQL 行或插入新行(对 UPDATE ON DUPLICATE KEY 感到困惑)

android - 从联系人中选择一个号码但删除国家代码

php - 使用 PHP 在 mysql 数据库中插入记录时验证对文件(已存在/类型)不起作用

php - CakePHP HABTM 条件

python - 如何使 Python 格式具有一定数量的有效数字?

c++ - 将十六进制转换为带符号的十进制