您好,欢迎访问一九零五行业门户网

怎么百分比指定字符间的数字

64.90你好
53.64我好
80.90他好
53.64哈哈
40.90呵呵
53.64噢噢
比如$num是获取上面页面的内容
怎么把之间的数字等于原数字的80%保留小数点两位
之间的数字等于原数字的60%保留小数点两位
保留原页面的其它内容包括中文字
回复讨论(解决方案) $s =<<< txt64.90你好53.64我好80.90他好53.64哈哈40.90呵呵53.64噢噢txt;echo preg_replace_callback('/(|)([\d.]+)/', function($m) {return sprintf('%s%.2f', $m[1], $m[2] * ($m[1] == '' ? 0.8 : 0.6));}, $s);
51.92你好32.18我好64.72他好32.18哈哈32.72呵呵32.18噢噢
楼上的大哥你给的代码报错啊
parse error: syntax error, unexpected t_function in c:\111.php on line 10
能不能把得到的值再等于变量,具体怎么写
$p = preg_replace_callback('/(|)([\d.]+)/', function($m) {return sprintf('%s%.2f', $m[1], $m[2] * ($m[1] == '' ? 0.8 : 0.6));}, $s);
你的php版本低于5.3 不支持匿名函数,改成这样
function foo($m){ return sprintf('%s%.2f', $m[1], $m[2] * ($m[1] == '' ? 0.8 : 0.6));}$p = preg_replace_callback('/(|)([\d.]+)/', foo, $s); echo $p;
其它类似信息

推荐信息