需求:
js数字(Number)方法汇总
索引:
1,parseFLoat(n);
2,parseInt(n);
3,Number(n);
4,Number.MAX_VALUE;
5,Number.MIN_VALUE;
6,Number.isFinite(n);
7,Number.isInteger(n);
8,Number.isSafeInteger(n);
9,Number.isNaN(n);
10,n.tofixed(key);
11,n.toString();
12,Math....(n);---后续单独解析
13,+ - * / % ^; ---后续单独解析
正文
1,parseFloat
(1)作用:将给定值解析为浮点数;
(2)语法:parseFloat(n);
(3)语法解释:n指代,待解析的数据;
(4)返回值:格式化后的数据;
(5)示例代码:
const res=parseFloat('1.66$mn');
console.log(res); // 1.66
2,parseInt
(1)作用:将给定的值解析成整数;
(2)语法:parseInt(n);
(3)语法解释:n指代,待解析的数据;
(4)返回值:格式化后的数据;
(5)示例代码:
const res=parseInt('1.6668bb');
console.log(res); // 1
3,Number
(1)作用:将给定的对象转换成数字---对应js隐式转换;
(2)语法:Number(obj);
(3)语法解释:obj指代某个对象;
(4)返回转换后的数字,如果不能转为数字则返回NaN;
(5)示例代码:
const test1= new Boolean(true);
console.log(Number(test1));// 1
const test2= new Boolean(false);
console.log(Number(test2));// 0
const test3= new Date();
console.log(Number(test3));// 1547265065315
const test4= new String("999");
console.log(Number(test4));// 999
const test5= new String("999 888");
console.log(Number(test5));// NaN
// 关于字符串转化为数字,
// 1,Number()只能处理标准数字格式(兼容前后置的空格)的字符串为数字
// 2,parseInt() parseFLoat()可以处理后置非number字符
// 3,三者都不能处理前置非number字符
// 4,三者都能处理前后置的空格
// 5,parseInt() parseFLoat()遇到空格都不再继续解析,Number()遇到中间空格报错,如下例子
// 后置非number字符串
const str="123.456-#mmm";
console.log(Number(str)); // NaN
console.log(parseFloat(str));// 123.456
console.log(parseInt(str)); // 123
// 前置非number字符串
const str2='kk123.456';
console.log(Number(str2));// NaN
console.log(parseInt(str2));// NaN
console.log(parseFloat(str2));// NaN
// 前后置空格
const str1=' 123.456 ';
console.log(Number(str1));// 123.456
console.log(parseInt(str1));// 123
console.log(parseFloat(str1));// 123.456
// 字符串中间的空格
const str3='3.45 6';
console.log(Number(str3));// NaN
console.log(parseInt(str3));// 3
console.log(parseFloat(str3));// 3.45
4,Number.MAX_VALUE
(1)作用:表示在 JavaScript 里所能表示的最大数值;
(2)语法:Number.MAX_VALUE;
(3)语法解释:因为 MAX_VALUE 是 Number 对象的一个静态属性,所以你应该直接使用Number.MAX_VALUE ,而不是作为一个创建的 Number 实例的属性;MAX_VALUE 属性值接近于 1.79E+308。大于 MAX_VALUE 的值代表 "Infinity";
(4)返回值:返回一个js能表示的最大数值,接近于1.79E+308;
(5)示例代码:
console.log(Number.MAX_VALUE);
// 1.7976931348623157e+308
5,Number.MIN_VALUE
(1)作用:表示在 JavaScript 中所能表示的最小的正值;
(2)语法:Number.MIN_VALUE;
(3)语法解释:因为 MIN_VALUE 是 Number 的一个静态属性,因此应该直接使用: Number.MIN_VALUE, 而不是作为一个创建的 Number 实例的属性;MIN_VALUE 属性是 JavaScript 里最接近 0 的正值,而不是最小的负值;MIN_VALUE 的值约为 5e-324。小于 MIN_VALUE ("underflow values") 的值将会转换为 0;
(4)返回值:返回一个接近0的正数,大约为5e-324;
(5)示例代码:
console.log(Number.MIN_VALUE)
// 5e-324
6,Number.isFinite
(1)作用:用来检测传入的参数是否是一个有穷数(finite number);
(2)语法:Number.isFinite(number);
(3)语法解释:number表示某个参数
(4)返回值:返回boolean;
(5)示例代码:
const n=999;
console.log(Number.isFinite(n));// true
const m=Infinity;
console.log(Number.isFinite(m));// false
7,Number.isInteger
(1)作用:用来判断给定的参数是否为整数;
(2)语法:Number.isInteger(number);
(3)语法解释:number表示某个参数
(4)返回值:返回boolean;
(5)示例代码:
console.log(Number.isInteger(1.2)); // false
console.log(Number.isInteger(2)); // true
8,Number.isSafeInteger
(1)作用:用来判断传入的参数值是否是一个“安全整数”(safe integer);
(2)语法:Number.isSageInteger(number);
(3)语法解释:number表示某个参数;安全整数:范围为 -(2的53次方 - 1)到 2的53次方 - 1 之间的整数,包含 临界数本身;
(4)返回值:返回boolean;
(5)示例代码:
console.log(Number.isSafeInteger(3));// true
console.log(Number.isSafeInteger(9.6)); // false
console.log(Number.isSafeInteger(Infinity));// false
9,Number.isNan
(1)用来判断传入的参数值是否是Nan;
(2)语法:Number.isNan(n);
(3)语法解释:n表示某个参数;
(4)返回值:返回boolean;
(5)示例代码:
Number.isNaN(2); // false
Number.isNaN(NaN);// true
Number.isNaN(Infinity);// false
10,n.toFixed(key)
(1)作用:使用定点表示法来格式化一个数;
(2)语法:n.toFixed(key);
(3)语法解释:n表示某个Number实例,key表示定点位数;
(4)返回值:返回格式化之后的字符串;
(5)示例代码:
// 位数不足会加0补位
const res=2.3.toFixed(2)
console.log(res);// 2.30
// 必要时会做四舍五入
const res=2.6.toFixed(0)
console.log(res);// 3
// 不指定位数时默认为0
const res=2.6.toFixed()
console.log(res);// 3
// 返回值是字符串
typeof res2;// 'string'
11,n.toString()
(1)作用:格式化一个number实例为字符串表示形式;
(2)语法:n.toString();
(3)语法解释:n表示某个number实例;
(4)返回值:返回格式化后的字符串;
(5)示例代码:
console.log(124.456.toString());// '123.456'
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
我想了解Ruby方法methods()是如何工作的。我尝试使用“ruby方法”在Google上搜索,但这不是我需要的。我也看过ruby-doc.org,但我没有找到这种方法。你能详细解释一下它是如何工作的或者给我一个链接吗?更新我用methods()方法做了实验,得到了这样的结果:'labrat'代码classFirstdeffirst_instance_mymethodenddefself.first_class_mymethodendendclassSecond使用类#returnsavailablemethodslistforclassandancestorsputsSeco
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun
我有一个具有一些属性的模型:attr1、attr2和attr3。我需要在不执行回调和验证的情况下更新此属性。我找到了update_column方法,但我想同时更新三个属性。我需要这样的东西:update_columns({attr1:val1,attr2:val2,attr3:val3})代替update_column(attr1,val1)update_column(attr2,val2)update_column(attr3,val3) 最佳答案 您可以使用update_columns(attr1:val1,attr2:val2
我不确定传递给方法的对象的类型是否正确。我可能会将一个字符串传递给一个只能处理整数的函数。某种运行时保证怎么样?我看不到比以下更好的选择:defsomeFixNumMangler(input)raise"wrongtype:integerrequired"unlessinput.class==FixNumother_stuffend有更好的选择吗? 最佳答案 使用Kernel#Integer在使用之前转换输入的方法。当无法以任何合理的方式将输入转换为整数时,它将引发ArgumentError。defmy_method(number)