php - 将一串数字转换为浮点数时..为什么我只得到第一个数字?
问题描述
我知道这个问题之前已经发布过。有人和我有同样的问题,他通过纠正他的编码风格来解决这个问题。没有提供进一步的细节。我正在使用 UTF-8 。我正在使用 Windows 10 。我的代码和评论中的结果如下。任何帮助是极大的赞赏。
$nickp[0] = trim($nickp[0]);
$nickp[1] = trim($nickp[1]);
$nickp[2] = trim($nickp[2]);
echo"<br>";
echo"var dump on nickp";
echo"<br>";
var_dump($nickp); // returns array(3) { [0]=> string(459) "15336.50 " [1]=> string(36) "" [2]=> string(0) "" }
echo"<br>";
echo"here is a print r..";
echo"<br>";
print_r($nickp);
echo"<br>";
$nickpf = (float)$nickp;
echo"<br>";
echo"var dump on float nickpf";
echo"<br>";
var_dump($nickpf); // returns float(1)
echo"<br>";
echo"<br>";
echo"var dump on float nickpf[0]";
echo"<br>";
var_dump($nickpf[0]); returns NULL
echo"<br>";
echo"just nickpf";
echo"<br>";
echo $nickpf; // returns 1
echo"<br>";
$nickpf =( $nickpf -13380.50);
echo"just nickpf birth year";
echo"<br>";
echo $nickpf;// returns - 13379.50
echo"<br>";
解决方案
这是你想要的
$nickp = ["15336.50", "12312.11", "123123.22"]; // example
$nickp[0] = trim($nickp[0]);
$nickp[1] = trim($nickp[1]);
$nickp[2] = trim($nickp[2]);
echo floatval(preg_replace('/[[:^print:]]/', "", $nickp[0]));
推荐阅读
- xamarin.forms - Xamarin Forms 带有底部菜单的内部导航
- hibernate - HibernateException 无法构造请求的方言 Oracle10gDialect
- button - 按钮SwiftUi内图像的背景颜色问题
- reactjs - 如何在图像裁剪后获取图像 url,而不是 blob url
- ios - 错误:libc++abi.dylib:以 NSException (lldb) 类型的未捕获异常终止
- node.js - Firebase Cloud Firestore 触发器 context.auth 始终为 null
- amazon-web-services - 分配的内存中是否考虑了 AWS Lambda 程序包大小?
- three.js - 在三个js中增加圆柱体的厚度
- flutter - Flutter:你能在加载一个flutter_spinkit后输出一个小部件吗?
- javascript - 出现错误:在 mocha selenium node js 中没有或错误的原因拒绝了承诺