gpt4 book ai didi

php - 解析数字但保留负数

转载 作者:可可西里 更新时间:2023-11-01 13:41:27 25 4
gpt4 key购买 nike

我正在尝试将数字取消格式化为其原始形式,但保留它是否为负数。堆栈溢出的某个人让我找到了这段代码,它工作得很好,但它并没有保留负数。

谁能帮我更好地解决这个问题?

编辑 - 对于美元货币/普通数字

示例:

1,234 = 1234

-1,234 = -1234

1,234.00 = 1234

1,234.56 = 1234.56

function numberUnformat($number)
{
$cleanString = preg_replace('/([^0-9\.,])/i', '', $number);
$onlyNumbersString = preg_replace('/([^0-9])/i', '', $number);

$separatorsCountToBeErased = strlen($cleanString) - strlen($onlyNumbersString) - 1;

$stringWithCommaOrDot = preg_replace('/([,\.])/', '', $cleanString, $separatorsCountToBeErased);
$removedThousendSeparator = preg_replace('/(\.|,)(?=[0-9]{3,}$)/', '', $stringWithCommaOrDot);

return (float) str_replace(',', '.', $removedThousendSeparator);
}

最佳答案

如果您有可用的 ICU 扩展(捆绑在 PHP 5.3 中),请尝试以下操作:

$formatter = new NumberFormatter('en_US', NumberFormatter::DECIMAL);
echo $formatter->parse('-1,234.56');

关于php - 解析数字但保留负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19964723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com