【php阅读number_format函数的源码分享】教程文章相关的互联网学习教程文章

PHP与IntlDateFormatter【代码】

有一个脚本: for($i=80; $i<=89; $i++) {$date = '01.04.19'.$i;$intlDateFormatter = new \IntlDateFormatter('ru', 2, -1, 'Europe/Moscow', 1, 'dd.MM.yyyy');$intlDateFormatter->setLenient(false);$timestamp = $intlDateFormatter->parse($date);echo $date . ' = ' . var_export($timestamp, 1);echo '<br>' . PHP_EOL; }和脚本输出:01.04.1980 = 323384400 01.04.1981 = false 01.04.1982 = false 01.04.1983 = fals...

php – NumberFormatter总是在浮点后面留下2位数【代码】

我在这里结束了一点矫枉过正,但我??似乎无法解决这个问题:$formatter = new NumberFormatter('lv_LV', NumberFormatter::DECIMAL);$formatter->setAttribute(NumberFormatter::FRACTION_DIGITS, 2); $formatter->setAttribute(NumberFormatter::MIN_FRACTION_DIGITS, 2); $formatter->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2); $formatter->setAttribute(NumberFormatter::DECIMAL_ALWAYS_SHOWN, 2);我想在这里实现...

在PHP的money_format()输出中删除美元后的空格【代码】

我用money_format('%(#15.2n',$money)它输出类似的东西$500.00有没有办法消除美元符号和500之间的空间?解决方法:money_format [docs]甚至可能不在某些平台上工作.使用number_format [docs]会更可靠:echo '$' . number_format($money, 2); // '$12.44'如果你想将它填充到一定数量的空格,但是在数字之前紧跟美元符号,你也可以使用sprintf [docs]:echo printf("%15s", '$' . number_format($money, 2)); // ' $12.44'

php – 为什么我的数字值使用number_format()更改?【代码】

以下代码给出了两个不同的输出:$number = '1562798794365432135246'; echo $number; echo number_format($number);有谁能解释一下? 编辑:忘了提,上面给了我“1562798794365432135246 1,562,798,794,365,432,233,984”.注意最后六位数字是完全不同的没有明显的原因(我要求它做的是插入千位分隔符).解决方法:number_format(),as stated by the PHP manual,将float转换为包含数千个逗号组的字符串.$number = '1562798794365432135...

php – 你能在“”里面回复money_format()吗?【代码】

我试图回应以下内容echo "The price is money_format('$%i', $price)" 但那实际上是回声money_format('$%i', 9.99)是否可以在“”中回显money_format(‘$%i’,$var_name)?解决方法:您需要连接运算符echo "The price is " . money_format('$%i', $price);

php – 错误的月份(二月) – DateTime :: createFromFormat【代码】

字符串的日期转换返回第2个月(2月)的错误值:$dtformat = 'Y-m-01'; $curDate = DateTime::createFromFormat('Y-m', '1996-02'); print_r($curDate); $dt = $curDate->format($dtformat); echo $dt."\n";而不是“1996-02-01”,它返回“1996-03-01”.这是$currDate数组:DateTime Object ( [date] => 1996-03-02 01:19:01 [timezone_type] => 3 [timezone] => America/New_York )所有其他月份工作正常.我在这里错过了什么? 谢...

PHP中的DateTime :: createFromFormat <5.3.0

我正在寻找一个与DateTime::createFromFormat相同的功能但我需要它在运行PHP版本比v5.3更旧的环境中工作.基本上我需要提供一个格式,就像你使用Date()函数一样,然后我需要根据该格式解析/验证字符串,并在字符串格式正确且有效日期时返回时间戳. 任何人都知道我可以在哪里找到类似的东西,还是我必须自己写呢? 同样,这必须使用特定格式,作为参数提供.格式可以是任何东西,所以不能保证我只能使用strtotime().解决方法:PHP 5.3中添加了...

防止number_format从舍入数字 – 添加逗号并保持小数点 – PHP【代码】

数字格式添加我想要的逗号但删除小数.echo number_format("1000000.25");这将返回1,000,000 我希望它返回1,000,000.25 我需要逗号和小数,没有任何数字四舍五入.我的所有值都是小数.它们的长度各不相同. 我是否必须使用数字格式以外的其他内容?解决方法:如果你的意思是它们的长度不同与小数部分有关,请看一下这段代码:function getLen($var){$tmp = explode('.', $var);if(count($tmp)>1){return strlen($tmp[1]);} } $var = '100...

PHP:具有时区的DateTime :: createFromFormat()【代码】

我想将日期形式从d / m / Y转换为Y-m-d,时区偏移.我可以使用以下代码从d / m / Y转换为Y-m-d:$date = DateTime::createFromFormat('d/m/Y', $date); $date = $date->format('Y-m-d');但我不知道如何添加时区偏移量.解决方法:只需使用DateTime::setTimeZone():$date = DateTime::createFromFormat('d/m/Y', $date); $date->setTimeZone(new DateTimeZone('America/New_York')); $date = $date->format('Y-m-d');

php – 警告:number_format()期望参数1为double【代码】

我收到警告:number_format()期望参数1在我的代码上是双重错误$tbl->addRow(); $tbl->addCell($name); $tbl->addCell('$' . number_format(doubleval($price), 2,',', ' ') );我知道$price是一个值15,00这是一个数字.怎么可能修好?解决方法:doubleval()可能会返回某种错误,因为数字“15,00”是欧洲格式而不是标准格式.你尝试过使用“15.00”吗?

PHPExcel getFormatCode问题【代码】

我正在使用PHPExcel从Excel读取数据.即使我将其设置为日期(‘YYYY-MM-DD’)格式,它也没有给我正确的单元格数字格式.我使用的代码$reader = new PHPExcel_Reader_Excel5(); $reader->setReadDataOnly(true); $PHPExcel = $reader->load($file );$format = $PHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat()->getFormatCode(); var_dump($format);我总是得到将军.我不知道哪个列将成为日期格式,因此该部分需要以编程方...

使用money_format的PHP语言环境不能与fr_CA一起使用【代码】

我有这个简单的代码:<?phpsetlocale('LC_MONETARY', 'fr_CA.UTF-8');echo money_format('%+#10n', '-4562.75834');print_r(localeconv()); ?>谁通常应该给-4 562,76 $.但结果总是如此:(4 562,76 $)localeconv()的输出:Array ( [decimal_point] => . [thousands_sep] => [int_curr_symbol] => CAD [currency_symbol] => $ [mon_decimal_point] => , [mon_thousands_sep] => [positive_sign] => [negative_sign] => - [int_f...

php – 使用IntlDateFormatter转换非公历日期【代码】

如何使用IntlDateFormatter将非公历日期转换为其他日历类型.我想将“1392-01-02”从波斯语转换为伊斯兰日历.我尝试了以下代码,但它没有转换日历:$formatter = IntlDateFormatter::create('en_US@calendar=persian', IntlDateFormatter::FULL,IntlDateFormatter::FULL, 'Asia/Tokyo',IntlDateFormatter::TRADITIONAL,'yy-MM-dd'); $formatter->setCalendar(IntlDateFormatter::GREGORIAN); echo $formatter->format($formatter->pa...

php中类似Python的.format()【代码】

我有以下数组:$matches[0] = "123"; $matches[1] = "987"; $matches[2] = "121";以下字符串:$result = "My phone number is {0} and police number is {2}";我想基于$matches数组替换{}占位符,以防占位符显示没有匹配. 实现这一目标的最佳方法是什么,或者您是否知道更好的解决方案? (现在我正在构建系统,所以我可以使用任何其他符号而不是花括号) UPDATE 在python中,这可以使用.format()函数.解决方法:您可以使用vsprintf执行此...

php – 使用money_format()时如何输出缩写货币符号而不是货币名称?【代码】

money_format函数中是否有一个标志,允许您用缩写版本($,€)替换长货币(例如USD,EUR)?解决方法:是:文档指定当前区域设置的国家货币格式的“n”标志:<?php setlocale(LC_MONETARY, 'en_GB.UTF-8'); echo money_format('%n', 7.99); // £7.99setlocale(LC_MONETARY, 'en_US.UTF-8'); echo money_format('%n', 7.99); // $7.99确保为LC_MONETARY(或者当然是LC_ALL)设置区域设置.

NUMBER - 相关标签