javascript 判断 字符串是否可转化为Float型

JavaScript05

javascript 判断 字符串是否可转化为Float型,第1张

不需要判断字符串,直接转就ok。

列:

    var t='asdfdsfsdaf'

    t=parseFloat(t)

    if(isNaN(t) )

    {

        //不能转换

    }

    else

    {

        //转换成功

    }

// isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果)

用parseFloat(str)函数。

例如:

var f = parseFloat('23.4')

alert(f-13)

这样的话alert出来的结果就是10.4

类似的还有parseInt(str)函数

介绍一个不错的js学习网站给你,上面有DOM和js对象的详细说明及属性、方法

http://www.w3school.com.cn/js/index.asp

我现在从网上能查到的说法有两种:

第一种说是JS浮点数计算的bug

第二种说是和计算机最终转换成二进制计算有关系,

但是为什么不是所有小数都会有这种现象, 目前我也不清楚, 有机会再去深入研究一下。

解决办法,到是也有两种:

第一种就是利用JS .toFixed(n) 方法, 直接获取n位小数, 个人觉得这种方法在数据精度上会有一些问题. 如果数据精度要求不高的话 可以使用。

第二种方法就是自己写js 运算方法.

以下是自定义加法函数, 使用此方法进行相加会避免上面问题。

function addNum(num1,num2){

var sq1,sq2,m

try{sq1=num1.toString().split(".")[1].length} catch(e){sq1=0}

try{sq2=num2.toString().split(".")[1].length} catch(e){sq2=0}

m=Math.pow(10,Math.max(sq1,sq2))

return ( num1 * m + num2 * m ) / m

}