Ben*_*ard 7 php string parsing currency
我想用PHP中的字符串解析货币,我已经看过数字格式化程序,但没有得到PHP 5.3或者能够添加扩展名.
货币只会在每个字符串中存在一次,并且会以货币符号为前缀,在我的例子中是英镑符号£.货币可能采用以下格式之一:
£0.90
£100
£100.10
£1000
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?
编辑
这是一个示例字符串:
Paid a bill £153.93
Run Code Online (Sandbox Code Playgroud)
我想将货币值变为变量.
(float)substr($input, strpos($input, "£")+1);
Run Code Online (Sandbox Code Playgroud)
这将得到以下结果:
float(0.9)
float(100)
float(100.1)
float(1000)
float(153.93)
Run Code Online (Sandbox Code Playgroud)
编辑:更新以反映对问题的更改.这假设所有字符串都与您给出的字符串相似.
我有另一个答案.触摸速度可能比使用strpos更快,如果输入中有任何空白区域可能会更好.
$input = "£250.75";
$output = floatval(ltrim($input,"£"));
echo $output;
250.75
Run Code Online (Sandbox Code Playgroud)
您还可以在ltrim中将其他货币添加到char列表中:
$output = floatval(ltrim($input,"£$¢"));
Run Code Online (Sandbox Code Playgroud)
这将从您的数字的左侧剥离$或£或¢,以及空格,这将破坏使用strpos的上方的解决方案.此外,如果在某些情况下取消货币符号,则会产生相同的结果.