php - 如何用点替换逗号,反之亦然

标签 php replace currency-formatting digit-separator

我有一个具有以下值的字符串:

$myValue = "1.099,90";

我想用点替换逗号,反之亦然。就像这样:

$myNewValue = "1,099.90";

我知道肯定还有其他更好的方法来做到这一点,但我所能得到的是:

$myNewValue = str_replace(",","|",$myValue);
$myNewValue = str_replace(".",",",$myValue);
$myNewValue = str_replace("|",".",$myValue);

这条路看上去怪怪的,而且有股难闻的味道!有没有更干净的方法?

最佳答案

strtr() 不会替换替换项,因此您可以避免临时管道。

代码:(Demo)

$myValue = "7.891.099,90";
echo strtr($myValue, ".,", ",.");

// or
// echo strtr($myValue, ["." => ",", "," => "."]);

输出:

7,891,099.90

资源:http://php.net/manual/en/function.strtr.php

关于php - 如何用点替换逗号,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52771614/

相关文章:

vba - 如何在 Visual Basic 编辑器中键入 Unicode 货币字符

php - AJAX:循环发送 xmlhttp 请求...但未收到所有响应

php - PDO,使用带转义的 PDO 获取内容并回显它

php - 将图像从磁盘导入 MySQL 数据库时图像损坏

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

javascript - 恢复replace()

javascript - 货币在具有相同区域设置的 iOS 和 Android 上格式不同

.net - C#正则表达式替换问题

bash - 一次性填充文件中的占位符

c# - 使用 .ToString() 在 C# 中格式化十进制字符串