我想把这些值'3'
,'2.34'
,'0.234343'
等转换成数字。在JavaScript中我们可以使用Number()
,但PHP中是否有类似的方法?
Input Output
'2' 2
'2.34' 2.34
'0.3454545' 0.3454545
我想把这些值'3'
,'2.34'
,'0.234343'
等转换成数字。在JavaScript中我们可以使用Number()
,但PHP中是否有类似的方法?
Input Output
'2' 2
'2.34' 2.34
'0.3454545' 0.3454545
$n1 = +'7';
$n2 = '2.34';
$n2 = +$n1;
var_dump($n1): 整数(7) var_dump($n2): 浮点数(2.34)
$fileDownloadCount = (int) column_data_from_db;
$fileDownloadCount++;
你可以将0添加到字符串中,这样就可以将其转换为数字而不会丢失初始值。例如:
dd('0.3454545' + 0)
PHP会为您处理转换,或者如先前建议的,在字符串前添加+。
PHP 在一定范围内可以为您完成此操作
<?php
$str = "3.148";
$num = $str;
printf("%f\n", $num);
?>
$num = $str;
没有改变值,当然了。而且 printf 在某个地方打印了一些东西 - 所以它仍然是一个字符串。如果你使用 sprintf
,这可能更明显!在你的回答中,没有浮点值可以被提取和在其他地方使用。[同意 内部 临时是浮点数 - 但仍然不是问题的答案。如果 OP 想要 打印 原始字符串,他可以简单地执行 printf("%s\n", $str)
。]” - ToolmakerSteve$nums = ["0","1","2","3","4","5","6","7","8","9"];
$int = 15939;
$string = "";
while ($int) {
$string .= $nums[$int % 10];
$int = (int)($int / 10);
}
$result = strrev($string);
int
或float
(当给定int
时,通常不需要float
)。 - Matthieu Napoli2
被内部存储为Number:"JavaScript代码中的数字字面量(如37)是浮点值,而不是整数。在日常使用中没有单独的整数类型。(JavaScript现在有一个BigInt类型,但它并不是为了取代Number而设计的。37仍然是一个Number,而不是BigInt。)"因此,在JS中,Number(your_string)
之所以能够实现你想要的功能,是因为其他地方的逻辑默认将2
显示为"2"
而不是"2.0"
。 - ToolmakerSteve