在PHP中如何将“十进制字符串”转换为不带句点的整数

在PHP中如何将“十进制字符串”转换为不带句点的整数,php,html,math,numbers,Php,Html,Math,Numbers,例如,如果我将8.1保存为字符串/纯文本,我如何将其更改为可以与81相加的整数?我必须去掉周期,把它变成一个整数。虽然我知道这应该很简单,但我似乎无法理解。我尝试的每件事都只输出1。如果你像你说的那样处理整数,你可以使用内置在PHP中的intval函数 因此,基本上,一旦您将字符串解析并设置为一个整数,您就可以执行以下操作: intval81 得到整数81 例如: $strNum = "81"; $intNum = intval($strNum); echo $intNum; // "81" e

例如,如果我将8.1保存为字符串/纯文本,我如何将其更改为可以与81相加的整数?我必须去掉周期,把它变成一个整数。虽然我知道这应该很简单,但我似乎无法理解。我尝试的每件事都只输出1。

如果你像你说的那样处理整数,你可以使用内置在PHP中的intval函数

因此,基本上,一旦您将字符串解析并设置为一个整数,您就可以执行以下操作:

intval81

得到整数81

例如:

$strNum = "81";
$intNum = intval($strNum);
echo $intNum;
// "81"
echo getType($intNum);
// "integer"

如果您像您所说的那样处理整数,那么可以使用内置于PHP中的intval函数

因此,基本上,一旦您将字符串解析并设置为一个整数,您就可以执行以下操作:

intval81

得到整数81

例如:

$strNum = "81";
$intNum = intval($strNum);
echo $intNum;
// "81"
echo getType($intNum);
// "integer"

不确定这是否有效。但是如果你总是有一些东西,比如1.1或4.2,你可以乘以10,然后在这里输入字符串。但是如果你有一些东西,比如1.42和5.234267等等,我不知道该说什么。也许一个函数可以一直乘以10,直到它是一个带is_int的整数

资料来源:


不确定这是否有效。但是如果你总是有一些东西,比如1.1或4.2,你可以乘以10,然后在这里输入字符串。但是如果你有一些东西,比如1.42和5.234267等等,我不知道该说什么。也许一个函数可以一直乘以10,直到它是一个带is_int的整数

资料来源:


由于php进行自动转换,因此应该可以:

<?php

$str="8432.145522";
$val = str_replace('.','', $str);
print $str." : ".$val;

?>

由于php进行自动转换,因此应该可以:

<?php

$str="8432.145522";
$val = str_replace('.','', $str);
print $str." : ".$val;

?>
你也可以试试这个

$str = '8.1';
$int = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
echo $int; // 81
echo $int+1; // 82
你也可以试试这个

$str = '8.1';
$int = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
echo $int; // 81
echo $int+1; // 82


str_替换,然后使用int进行转换。如果您始终确定它的模式是x.x,周期前后各一位,您可以简单地将其乘以10。@Michael,不。这不准确。@phant0m-我总是对更正感兴趣。但是如果源数据总是以这种模式出现:x.x像1.0/2.7/7.9/9.9,结果应该是这样的模式:xx像10,27,79,99-与10相乘就足够了。str_替换,然后使用int进行转换。如果你总是确定它的模式是x.x,在句点前一位,句点后一位,你可以简单地将它与10相乘。@Michael不。这不准确。@phant0m-我总是对更正感兴趣。但是如果源数据总是以这样的模式出现:x.x像1.0/2.7/7.9/9.9,结果应该是这样的模式:xx像10,27,79,99-与10相乘就足够了。我认为乘以100会更容易。这应该会将小数点移过去,并保证在1次运算中得到一个整数。但如果这个数字是5.5呢,@mariozig?数字是50!D:你说得对。我是在考虑钱的问题,假设他只是想把一个十进制数转换成它所代表的便士数!:不!浮点数不准确,这不是正确的做法。我认为乘以100会更容易。这应该会将小数点移过去,并保证在1次运算中得到一个整数。但如果这个数字是5.5呢,@mariozig?数字是50!D:你说得对。我是在考虑钱的问题,假设他只是想把一个十进制数转换成它所代表的便士数!:不!浮点数是不准确的,这不是正确的做法。但他不是像他说的那样处理整数,而是处理形式为8.1的数字!但正如他所说,他不是在处理整数,而是在处理形式为8.1的数字!这与自动转换有什么关系?删除句点后,结果是一个带有所谓整数的字符串。在PHP中,当在计算中使用变量时,不需要将其显式转换为int。这第二步的计算没有包含在我的答案中。要显式验证字符串是否包含int,建议使用intval,但在第一步中不需要:只需从字符串中删除句点。这与自动强制转换有何关系?删除句点后,结果是一个带有所谓整数的字符串。在PHP中,当在计算中使用变量时,不需要将其显式转换为int。这第二步的计算没有包含在我的答案中。要显式验证字符串是否包含int,建议使用intval,但第一步不需要:只需从字符串中删除句点。