首页 > 解决方案 > 转换带小数的数字

问题描述

我向 mysql 查询,我得到这个数字:

26,613,080

我需要将该数字转换为:

266,130 或 266.130(不管是 , 还是 . )

我正在使用数字格式进行一些测试或删除最后两个数字,但我无法让它保持我需要的状态。

谢谢

标签: php

解决方案


如果您安装了intl扩展,则可以使用NumberFormatter该类。

$input = "26,613,080";

$numberFormatter = new NumberFormatter("en_EN", NumberFormatter::DECIMAL);
$numberValue = $numberFormatter->parse($input);

var_dump($numberValue);
// float(26613080)

// I'm using TYPE_INT32 because that removes the decimal digits without rounding.
$output = $numberFormatter->format($numberValue / 100, NumberFormatter::TYPE_INT32);

var_dump($output);
// string(7) "266,130"

推荐阅读