0

我在这里有一个奇怪的问题。我怎样才能做到这一点。所以我有一个十进制数 1.2;我想用加号替换小数点,使其为 1+2 并输出值为 3。

这是我到目前为止所尝试的。使用替换点str_replace

<?php
    $a = 1.2; 

    $added_decimal = str_replace('.','+',$a);

    echo $added_decimal; 

上面的代码输出1+2,所以不计算。

我也尝试将小数转换为这样的数组;

<?php
$a = 1 .'.'. 2; //Concatenated it

explode('.',$a); //entered the delimeter

echo $a[0] + $a[2]; //this outputs 3;

所以这个工作正常,但问题是 when $awas 1.20。如果使用我上面的代码,这也会输出 3。我将如何获得 1+ 20 并输出 21?

4

1 回答 1

2

您的第二个代码段几乎是正确的。您只需要将explode() 结果存储在一个变量中。请参阅此代码段:

<?php
$a = 1 .'.'. 20; //Concatenated it

$x = explode('.',$a); //entered the delimeter

echo $x[0] + $x[1]; //this outputs 21;

当您执行 $a[0] 时,您实际上访问的是字符串的索引而不是explode() 结果。

于 2013-09-12T06:30:52.603 回答