【问题标题】:replace characters in string until different character替换字符串中的字符直到不同的字符
【发布时间】:2017-10-23 15:55:35
【问题描述】:

好吧,假设我有

   $value = '0.0005304';

我正在努力找出如何删除所有 0 实例 直到检测到另一个字符。 因此,在上述情况下,最终结果将是 5304

我知道我应该展示正在运行的代码,但是我不确定如何执行此操作,所以不知道从哪里开始。

任何帮助将不胜感激

** 已添加 ** 这2个数字是股票市场价格,开盘价和收盘价 基本上我想从收盘中扣除开盘

这个值将是 2 之间的差异 例如 open = 1.23456 close = 1.23446 相差 -0.00010 我希望这表示为 -10 分

希望这能解释更多

【问题讨论】:

标签: php str-replace


【解决方案1】:

尝试以下方法:

$value = '0.0005304';

$value = (int)str_replace('.','', $value);

var_dump($value); //output 5304

str_replace 将删除 .(int) 将其转换为 int 将删除所有 0s

【讨论】:

    【解决方案2】:

    Trim 去掉零,或者在你的情况下,去掉零和小数。

    $value = ltrim($value, '0.');
    

    不过,我不知道将其称为“替换字符”是否准确。看来我们正在用什么来代替它们。

    【讨论】:

    • 我讨厌这行得通,哈哈。 3v4l.org/11V8A 你能解释一下为什么其他 0 会被修剪,即使你只是告诉它修剪 0。?
    • 这是一个更好的解决方案。即使 OP 没有指定,这也适用于 3.00052 等,而其他答案则不会。
    • @WillParky93 第二个参数是一个字符掩码。它将修剪任何包含的字符。对于'0.',它会修剪0.
    • 我将在原帖中详细说明这是什么意思,请稍等 :)
    猜你喜欢
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 2011-02-10
    • 2021-06-08
    • 2011-04-28
    • 2022-12-15
    • 2017-01-06
    • 2015-10-01
    相关资源
    最近更新 更多