首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >要浮点的PHP字符串

要浮点的PHP字符串
EN

Stack Overflow用户
提问于 2009-01-26 21:32:22
回答 7查看 434.6K关注 0票数 137

我对PHP一点也不熟悉,我有一个简短的问题。

我有两个变量pricePerUnitInvoicedUnits。下面是将这些设置为值的代码:

$InvoicedUnits = ((string) $InvoiceLineItem->InvoicedUnits);
$pricePerUnit = ((string) $InvoiceLineItem->PricePerUnit);

如果我输出这个,我会得到正确的值。假设开票单位为5000,价格为1.00

现在,我需要显示花费的总金额。当我将这两者相乘时,它不起作用(正如预期的那样,它们是字符串)。

但是我不知道如何在PHP中解析/转换/转换变量。

我该怎么办?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-01-26 21:35:53

$rootbeer = (float) $InvoicedUnits;

应该会为你做的。查看Type-Juggling。您还应该阅读String conversion to Numbers

票数 234
EN

Stack Overflow用户

发布于 2010-07-18 20:15:18

好吧,如果用户写1,00000,那么floatvar将显示错误。所以-

floatval(preg_replace("/[^-0-9\.]/","",$input));

这要可靠得多。

用法:

$input = '1,03,24,23,434,500.6798633 this';
echo floatval(preg_replace("/[^-0-9\.]/","",$input));
票数 27
EN

Stack Overflow用户

发布于 2010-07-18 20:35:14

处理floats中的标记不是一项简单的任务。在英式/美式表示法中,你的格式是一千加46*10-2

1,000.46

但在德国,您需要更改逗号和点:

1.000,46

这使得在多语言应用程序中很难猜测正确的数字。

我强烈建议使用Zend Framework的Zend_Measure来完成这项任务。该组件将根据用户的语言将字符串解析为浮点型。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/481466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档