从字符串中删除数字格式

Posted

技术标签:

【中文标题】从字符串中删除数字格式【英文标题】:Remove number formatting from a string 【发布时间】:2016-09-13 17:08:13 【问题描述】:

下面的代码会把1000变成1000:

$price = '1000';
$price2 = number_format($price);
echo $price2;

如何将 1,000 变成 1000?我猜它会是这样的:

$price = '1,000';
$price2 = remove_format($price);
echo $price2;

【问题讨论】:

它会在number_format之后给出类似1,000.00的格式,所以你也需要删除点还是没关系? @HailHydra 这很奇怪,因为它不适合我 在不知道格式应该是什么样子的情况下(例如 , 是千位分隔符或小数分隔符),没有神奇的功能可以做到这一点,但请查看 @987654321 @ 目前还没有一个功能,但我刚刚回答了你的问题,它会从号码中删除, @HailHydra:默认为 0 位小数。 【参考方案1】:

这是一个很简单的东西,但我会把它变成一个函数给你。

您可以通过使用类似 str_replace() 函数来删除 , 来做到这一点,这就是我想出的:

代码:

function remove_format($text)
    $text = str_replace(",", "", $text)
    return $text;

【讨论】:

$text = preg_replace("/[^0-9\.]/", "", $text); 如果号码真的很脏;) 是的,如果您愿意,也可以使用它。【参考方案2】:
filter_var('1,000', FILTER_SANITIZE_NUMBER_INT)

【讨论】:

【参考方案3】:

我还没有测试过,但我会使用这样的东西:

    $a = "1,000";
    $b = str_replace( ',', '', $a );
    if( is_numeric( $b ) ) 
        $a = $b;
     

【讨论】:

以上是关于从字符串中删除数字格式的主要内容,如果未能解决你的问题,请参考以下文章

删除数字,然后从字符串的开头删除一个空格

Java从字符串中获取数字或货币格式[关闭]

使用 String.format 从整数中删除特定数字

如何从熊猫数据框中的字符串项中删除数字

从字符串中删除第一个数字

如何在 R 中使用 gsub 从字符串中删除非数字字符?