草庐IT

numeric-ranges

全部标签

php - is_numeric() 与 is_float() 与 is_int()

我的理解是...如果is_numeric($input)===true然后要么is_float($input)===true或is_int($input)===true或$input===0或$input是一个数字字符串(这意味着如果它没有用引号括起来,它将满足前3个中的一个)。这是准确的吗?还有其他区别吗? 最佳答案 请参阅关于is_numeric的PHP文档.它讨论了所有允许的事情,而且不仅仅是is_float和is_int。同样重要的是要注意is_int仅适用于整数类型的事物,这意味着不允许使用字符串表示形式。这是验证表单输入

php - number_format() 导致错误 "A non well formed numeric value encountered"

我正在使用number_format将float舍入为仅2位小数。问题是我的一些输入没有超过2个小数位开头。所以代码:number_format($value,2)如果它没有足够的十进制数字,它不会和平地添加0,而是在Apache日志中引发错误,这是不可取的。因此number_format(2.1,2)或number_format(0,2)将在Apache日志中引发错误。[ThuJun3017:18:042011][error][client127.0.0.1]PHPNotice:Anonwellformednumericvalueencounteredin/home/tahoang/

php - 解析错误 : Invalid numeric literal

运行下面这段代码时出现以下错误:代码:错误:Parseerror:Invalidnumericliteral.为什么会出现这个问题,我该如何解决? 最佳答案 这是因为在PHP7中处理整数(特别是八进制)的方式发生了变化(与PHP5不同)。来自文档(来自PHP7迁移)InvalidoctalliteralsPreviously,octalliteralsthatcontainedinvalidnumbersweresilentlytruncated(0128wastakenas012).Now,aninvalidoctallitera

php - date() 方法, "A non well formed numeric value encountered"不想格式化 $_POST 中传递的日期

很遗憾,我无法使用DateTime(),因为该项目所在的服务器正在运行PHPv.5.2。有问题的行:$aptnDate2=date('Y-m-d',$_POST['nextAppointmentDate']);抛出以下错误:Notice:Anonwellformednumericvalueencountered所以我vardump以确保它的格式正确..var_dump($_POST['nextAppointmentDate']);string(10)"12-16-2013"phpdocsstate它需要一个时间戳而不是一个字符串。但是当我这样做时:date('Y-m-d',strtot

PHP range() 从 A 到 ZZ?

是否可以使用PHP获取从A到ZZ*的范围?abc...aa...zxzyzz对我来说这不起作用:range('A','ZZ');它用于PHPExcel,当它给出BE作为最高字段时,我将遍历所有列。在这种情况下,我只得到A,B:range('A','BE') 最佳答案 利用PHP的“perl风格”增加字符的能力$letters=array();$letter='A';while($letter!=='AAA'){$letters[]=$letter++;}但您也可以使用简单的整数值,并利用PHPExcel的内置PHPExcel_Cel

php - preg_match() : Compilation failed: invalid range in character class at offset

提前感谢您抽出宝贵时间帮助解决此问题。preg_match():Compilationfailed:invalidrangeincharacterclassatoffset20session.phponline278在我们的服务器上进行PHP升级后,这在工作了几个月后突然停止工作。这里是代码else{/*Spruceupusername,checklength*/$subuser=stripslashes($subuser);if(strlen($subuser)setError($field,"*Usernamebelow".$config['min_user_chars']."ch

PHP is_numeric 或 preg_match 0-9 验证

这对我来说不是什么大问题(据我所知),这更像是我感兴趣的事情。但是,使用is_numeric而不是preg_match(反之亦然)来验证用户输入值的主要区别是什么?示例一:示例二:我假设两者的作用完全相同,但是否有任何特定差异可能会在以后以某种方式导致问题?有没有“最好的方法”或我没有看到的东西让它们与众不同。 最佳答案 is_numeric()测试值是否为数字。但它不一定必须是整数-它可以是十进制数或科学记数法中的数字。您给出的preg_match()示例仅检查值是否包含数字0到9;任意数量,任意顺序。请注意,您给出的正则表达式也

mysql - 警告#1264 :out of range error in mysql

以下查询:INSERTINTOskill(`emp_number`,`skill_id`,`year_exp`,`comments`)VALUES('4','3','23.45','')它正在产生错误:1rowinserted.Warning:#1264Outofrangevalueforcolumn'year_exp'atrow1year_expcolumnisofdatatypedecimal(2,2)请帮我找出错误。 最佳答案 我认为您遇到此错误是因为year_exp字段是DECIMAL(2,2),而您需要DECIMAL(4,

c++ - 如何解决 numeric_limits<T>::min() 的不一致定义?

numeric_limits特征应该是获取各种类型信息的通用方法,以便能够做类似的事情templateTmin(conststd::vector&vect){Tval=std::numeric_limits::min();for(inti=0;i问题在于(至少使用MSVisualStudio2008)numeric_limits::min()返回最小的负数,而numeric_limits::min()返回最小的正数数字!有人知道这个设计背后的原理吗?有没有更好的(推荐的?)使用numeric_limits的方法?在我上面的特定函数中,我当然可以将T初始化为vect[0],但这不是我要寻

c++ - 为什么 C++ numeric_limits<enum_type>::max() == 0?

这里有一些看起来可以工作的代码:#include#includeenumtest{A=1};intmain(){intmax=std::numeric_limits::max();assert(max>0);}但它在Linux上的GCC(4.6.2)和clang(2.9)下都失败了:枚举类型的max()实际上为零!即使您使用C++11枚举类型说明符明确说明您希望枚举具有什么类型,这仍然是正确的。这是为什么?至于C++11的行为,是否有明确要求?我在关于强类型枚举的论文N2347中没有提到它。 最佳答案 std::numeric_li