【问题标题】:PHP numbers and text in a string [closed]字符串中的PHP数字和文本[关闭]
【发布时间】:2015-10-05 18:12:05
【问题描述】:

我试图让$randpros 变成这样的 0.15,但我遇到了一个问题,$randpros = 0.$randpri; 不起作用。

这是我尝试过的代码:

$randpri = rand(5,15);
$randpros = 0.$randpri;

还有其他方法可以在$randpros前面加0吗?

【问题讨论】:

  • 为什么不$randpros = 0.01*(rand(5,15));
  • 我认为这没有按预期工作,因为您试图将字符串连接到整数。所以你必须决定你希望它是一个字符串还是一个整数。请参阅下面发布的答案。
  • 您能否澄清一下您是否想要一个介于 0.05 和 0.15 之间的 数字,或以下 字符串之一:0.5、0.6、... , 0.9, 0.10, 0.11, ..., 0.15
  • "0." .$randpri - 有很多方法可以做到这一点,如下所述;取决于你想用这个做什么。您需要详细说明您的问题。

标签: php string random


【解决方案1】:

plain math

案例“我想将一个随机整数作为浮点数传递给零”

$randpros = 0.01*(rand(5,15));

案例“我想要一个随机整数作为浮点数到零”

$i = rand(5,15);
$randpros = $i < 10 ? (0.1*$i) : (0.01*$i); 

【讨论】:

  • 嗯,如果rand 返回7,我不确定 OP 是否想要 0.07,或者像其他答案一样需要 0.7
  • @Federico 这取决于 OP 的需求。他甚至可以为此设置一个if,但肯定 string-int 连接不是最好的。
  • 是的,我喜欢“数学” ;-) 尤其是当事情“加起来”时。
【解决方案2】:

如下使用双引号:

$randpri = rand(5,15);
$randpros = "0.{$randpri}";

【讨论】:

  • 这将产生一个字符串。如果这是有意的,那就太好了。如果您想稍后对其进行数学运算,请参阅我的答案。
【解决方案3】:

将其转换为浮点数:

$randpros = floatval("0." . $randpri);

【讨论】:

    【解决方案4】:

    如果需要随机数格式0​​.xx

    <?php
    
      echo ( rand( 0, 99 ) / 100 );
    
    ?>
    

    【讨论】:

    • 艾伦·马查多已经给出了同样的回应
    • 好吧,我不会这么说,除非我错过了什么......
    • 也许你错过了 1*0.01 == 1/100
    • 不,但我的示例不是您的答案的副本,也就是不同的响应
    猜你喜欢
    • 2018-01-03
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    相关资源
    最近更新 更多