JavaScript 将字符串转换成数值(整数or浮点数)

JavaScript 将字符串转换成数值(整数or浮点数
JavaScript 将字符串转换成数值(整数or浮点数)
2007-04-16 11:13
从input中取出的value字符串进行加减乘除操作时需要首先进行数值转换,比如:
var height = 20;
var addvalue = document.formname.addheight.value;
var newheight = height+addvalue;

如果在addheight中输入的值为13,则计算出来的newheight为2013,而我们期望的值为33,所以需要将字符串转化成数值,可以采用的方法是parseInt

上面的代码转换成如下内容就可以了:

var newheight = height+parseInt(addvalue);

如果带有小数的话,则需要采用方法parseFloat,否则小数将被忽略。

parseInt方法介绍摘抄如下:

The parseInt() function parses a string and returns an integer.

The radix parameter is used to specify which numeral system to be used, for example, a radix of 16 (hexadecimal) indicates that the number in the string should be parsed from a hexadecimal number to a decimal number.

If the radix parameter is omitted, JavaScript assumes the following:

If the string begins with "0x", the radix is 16 (hexadecimal)
If the string begins with "0", the radix is 8 (octal). This feature is deprecated
If the string begins with any other value, the radix is 10 (decimal)
parseInt(string, radix)

string    Required. The string to be parsed
radix     Optional. A number (from 2 to 36) that represents the numeral system to be used
From:http://bitiliu.bokee.com/5668880.html

 

 

JavaScript 数据类型转换/replace/特殊字符

1.数据类型转换

JavaScript有两种数据类型的转换方法:一种是将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换),另一种方法是从一个值中提取另一种类型的值,并完成转换工作。

基本数据类型转换的三种方法:
1.转换为字符型:String(); 例:String(678)的结果为"678"
2.转换为数值型:Number(); 例:Number("678")的结果为678
3.转换为布尔型:Boolean(); 例:Boolean("aaa")的结果为true

从一个值中提取另一种类型的值的方法:
1.提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123
2.提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55
3.执行用字符串表示的一段javascript代码:eval(); 例:zhang=eval("1+1")的结果zhang=2

附录:
a. parseInt("09") 以0开头的话会自动转换成8进制格式,要规定转化成10进制的需要 parseInt("09",10) b. parseFloat 转换成浮点数 parseInt 转换成整数.
这两个函数都有些容错性的,比如"123abc"会变成123.
如果楼主希望更准确一些,其实可以判断一下,然后用eval,不过也可以使用这样的方法:
var a = "234" ;
a = a.replace(/(^[\\s]*)|([\\s]*$)/g, "");
if( a !="" && !isNaN( a ) )
{//如果是数字
a = eval( a )
}
else
{//如果不是数字
a = null
}

 


--------------------------------------------------------------------------------

 

2.replace函数[转]

今天要在javascript中将一个字符串里的所有的mailto:%20!@#$,替换成',',结果发现只能替换掉一个,后来查了一下才回忆起来javascript中的replace只能替换掉第一个匹配项。

网上提供的方法主要有两种,一种为通过indexof查看是否还存在匹配项,然后写循环替换,这样也很好。

更好的方案是通过写正则表达式来解决这个问题,replace(/要匹配的字符串/g,要替换的字符串)

网上的帖子大都是互相转载的,居的例子都是一个replace(/\-/g,'!'),但是如果要匹配的字符串长度大于1,究竟怎样写呢。

其实很简单,如果需要匹配的字符串只是字母一类的,例如abcde,那就可以直接replace(/abcde/g,'!')

如果含有特殊字符,需要在特殊字符前面转义(在字符前面加上\),当然每个字符都转义也可以的。例如!@#$,就可以这样写replace(/\!\@\#\$/g,',')

这样就可以搞定了,总之正则表达式很重要,本文只是给转义和正则表达式不熟悉的网友写的。

 


--------------------------------------------------------------------------------

 

3.特殊字符

javascript 提供了一些特殊字符,允许在字符串中包括一些无法直接键入的字符。每个字符都以反斜杠开始。反斜杠是一个转义字符,表示 javascript 解释器下面的字符为特殊字符。


转义序列 字符
\b 退格
\f 走纸换页
\n 换行
\r 回车
\t 横向跳格 (ctrl-i)
\' 单引号
\" 双引号
\\ 反斜杠
\& 和号

请注意,由于反斜杠本身用作转义符,因此不能直接在脚本中键入一个反斜杠。如果要产生一个反斜杠,必须一起键入两个反斜杠 (\\)。

document.write('the image path is c:\\webstuff\\mypage\\gifs\\garden.gif.');
document.write('the caption reads, "after the snow of \'97. grandma\'s house is covered."');

可以使用这些转义序列来控制位于 <pre> 和 <xmp> 标识之间的文本格式,此外,也可用来控制警告、提示和确认消息框中的文本格式。

posted @ 2009-08-26 15:13  杨子宜  阅读(1115)  评论(1编辑  收藏  举报