问题
我正在尝试创建一个将数字作为输入的工具,例如 - 1kk,并用k乘以 1000 替换每个数字,即在这里我们得到1000000。
处理整数时没有问题,但我正在努力实现将数字替换为浮点数的算法,例如12.345kkwith 12345000。
可能的解决方案
k好的,我可以用乘以 1000 的方法替换每个表达式,然后eval是整个表达式:
$inp= "12.345kk";
$number = preg_replace('/[kt]/','*1000',$inp);
eval("\$result = {$number};");
echo($result); // 12345000
但这真的很危险,因为该工具需要用户输入,并且用户可以编写他们想要的任何内容。
你能为这个问题提供一个安全的解决方案吗?
这是一个 PHP 问题,但我想解决方案在其他语言中应该或多或少相似,算法本身应该不是很困难。
不负相思意
牛魔王的故事
鸿蒙传说