从字符串中删除数字格式
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;
【讨论】:
以上是关于从字符串中删除数字格式的主要内容,如果未能解决你的问题,请参考以下文章