[乐意黎原创] Local 为德文时,小数点(点号)变成逗号时的JS 前端处理方法

1. server local is en, client machine local is de, show 0.5, input value is 0,5

2. server local is en, client machine local is en, show 0.5, input value is 0.5

3. server local is de, client machine local is de, show 0,5, input value is 0,5

4. server local is de, client machine local is en, show 0,5, input value is 0.5


如上面的环境,德文环境下,输入的小数0.5 变成了0,5. 小数点点号变成了逗号. 此时可以使用 replace(/,/g,".")来处理获取的值.

详细过程如下: 


//author: http://blog.csdn.net/aerchi

1. 当把本地机器的Local 设置为 germany.

 



2.  此时键盘布局为德文布局。 




3.  显示如图: 

   

4. 输入的时候,显示




比如输入 0.5,   此时 显示为0,5 前端拿到的数据 为 0,5.  

//author: http://blog.csdn.net/aerchi

var inputVal = 0,5;

此时 isNAN 和 parseFloat 均无法处理 0,5.

可以用正则  .replace(/,/g,".") 来处理后再使用。


如: isNAN (inputVal..replace(/,/g,"."))  

         parseFloat(inputVal..replace(/,/g,".")) 

经过这样处理,完美解决小数点变成逗号下,这两个方法无法使用的问题。


另:

写一个函数,要求对如果数字是负数则转化为正数,要求统一保留两位小数,如果没有小数显示.00.

function floatFormat(amt) {

    if(isNaN(amt))
    {

        return 0.00; //如果不是数字,返回0.00
    }

    amt = Math.abs(amt); //取绝对值

    return(amt.toFixed(2)); //保留两位小数
}


乐意黎(http://blog.csdn.net/aerchi)原创,禁止转载。

本文地址: http://blog.csdn.net/aerchi/article/details/51258476


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值