草庐IT

php - 格式化货币以显示 : "x" -> "x.00"?

我在MySQL中以浮点格式存储钱,但.00被删除,因为它们没有太多意义,但我想使用PHP以正确的钱格式向用户显示它们。我写了一个函数来检查money字段是否有任何.句点,否则添加.00。但我个人不喜欢这个函数,所以我正在寻找可以完成相同工作的内置函数:functionformatMoney($price){if(strpos($price,".")>-1)return$price;elsereturn$price.".00";}编辑:对于以某种方式提出我的问题的人应该知道money_format在Windows机器上不起作用,如下面从PHP手册中解释的那样:Thefunctionmon

PHP DateTime::diff 问题与 DateTime::format

当我尝试使用正常的PHP代码(d、Y、m等)为日期和时间格式化我的日期差异时,它只输出字母,而不是值。这仅在我格式化DateTime::diff时才会发生。它适用于简单的DateTime对象。这个:$date1=newDateTime('2000-01-01');$date2=newDateTime('now');$date=$date2->diff($date1);echo$date->format('ddaysago');“d天前”的输出。我知道如果我用%a替换d,它会输出这是多少天前的信息。我想知道还有哪些字符可以输出秒、分甚至年。提前致谢! 最佳答案

php - 你能在 ""中回应 money_format() 吗?

我正在尝试回应以下内容echo"Thepriceismoney_format('$%i',$price)"但这实际上是echomoney_format('$%i',9.99)是否可以在""中回显money_format('$%i',$var_name)? 最佳答案 你需要连接运算符echo"Thepriceis".money_format('$%i',$price); 关于php-你能在""中回应money_format()吗?,我们在StackOverflow上找到一个类似的问题:

PHPAGI : Exec format error

运行phpagi时遇到问题:--Executing[123@DLPN_C:1]AGI("SIP/1000-00000001","hello_world.php")innewstack--LaunchedAGIScript/var/lib/asterisk/agi-bin/hello_world.phphello_world.php:Failedtoexecute'/var/lib/asterisk/agi-bin/hello_world.php':Execformaterror--Autofallthrough,channel'SIP/1000-00000001'statusis'UN

php - 如何在 PHP 中获得去年的这一天?

所以我目前正在使用Carbon获取日期、时间和比较。我可以很容易地执行subYear()以获得去年的这个日期。现在我需要一些东西来在去年的同一时间获得完全相同的day,例如四月第二周的星期三。我希望必须做一些事情来计算出星期几,例如3和一年中的当前一周,然后得到去年相同的值。只是想我会检查是否有任何可用的东西已经在Carbon或其他PHP工具中执行此操作?谢谢 最佳答案 我认为DateTime::setISODate()正是您所需要的:$today=new\DateTime();$year=(int)$today->format('

PHP 货币正则表达式

我正试图找到一段匹配货币值的正则表达式。我只想匹配数字和1个小数点即允许10100100.00不允许字母字符100,00+/-100我已经搜索并尝试了很多但没有任何运气。希望大家多多指教 最佳答案 if(preg_match('/^[0-9]+(?:\.[0-9]+)?$/',$subject)){#Successfulmatch}else{#Matchattemptfailed}旁注:如果你想限制你想要的小数位数,你可以这样做:/^[0-9]+(?:\.[0-9]{1,3})?$/im所以100.000将匹配,而100.0001不

c# - PHP的number_format在C#中的等效功能是什么?

假设我有这些值:varupSize=365308443361.28;vardownSize=351897407979.52;varsize=upSize/downSize;在PHP中我可以这样做:number_format(size,3);输出将是:1.038如何在C#中使用string.Format()执行相同的操作? 最佳答案 是的,你可以使用string.Format:varupSize=365308443361.28;vardownSize=351897407979.52;varsize=upSize/downSize;st

php - 为什么使用 number_format() 会改变我的数值?

下面的代码给了我两个不同的输出:$number='1562798794365432135246';echo$number;echonumber_format($number);谁能解释一下?编辑:忘了说,上面给了我“15627987943654321352461,562,798,794,365,432,233,984”。请注意,最后六位数字完全不同,原因不明(我要求它做的只是插入千位分隔符)。 最佳答案 number_format(),asstatedbythePHPmanual,将一个float转换为一个带有逗号的数千组的字符串。

PHP - 字符串到货币的转换

我正在尝试使用thisfunction将字符串转换为货币格式,并尝试创建这样的东西:350000000to350.000.000,00到目前为止我所有的尝试都失败了,这是最后一次:setlocale(LC_MONETARY,'pt_PT.UTF-8@euro');echomoney_format('%.2n',$preco);如有任何帮助,我们将不胜感激。干杯! 最佳答案 你可以使用number_format()像这样:$number=350000000;$money_number=number_format($number,2,'

php - date_parse_from_format 到 unix 时间戳

我对date_parse_from_format()方法有疑问:$parsed=date_parse_from_format("YdMH:iT",'201228Nov21:00CET');Returnsassociativearraywithdetailedinfoaboutgivendate.这将返回一个包含一些日期信息的数组。但是有什么方法可以将它转换为unix时间戳吗? 最佳答案 约翰,下面是如何在您的场景中实现mktime的具体示例:$parsed=date_parse_from_format("YdMH:iT",'2012