//JS版
//将传入数据转换为字符串,并清除字符串中非数字与.的字符
//按数字格式补全字符串
var getFloatStr = function(num){
num += ''
num = num.replace(/[^0-9|\.]/g, '')//清除字符串中的非数字非.字符
if(/^0+/) //清除字符串开头的0
num = num.replace(/^0+/, '')
if(!/\./.test(num)) //为整数字符串在末尾添加.00
num += '.00'
if(/^\./.test(num)) //字符以.开头时,在开头添加0
num = '0' + num
num += '00' //在字符串末尾补零
num = num.match(/\d+\.\d{2}/)[0]
}
//测试
getFloatStr('0000.1') //0.10
getFloatStr('qwe') //0.00
getFloatStr('256') //256.00
</script>
js的变量没有严格的类型,在js中0表示整数0,“00”表示字符串。在0 == “00”比较的时候,会将“00”转换成整型在比较,转换结果就是0 == 0,即true。
这么判断没有问题,但不推荐,在阅读代码、修改代码等方面都会有影响
js四舍五入不显示.00中四舍六入五成双最后为零不显示
2023-01-11
JS013. 重写toFixed( )方法,toFixed()原理 - 四舍五入?银行家舍入法?No!六舍七允许四舍五入√!
JS toFixed 四舍六入五成双
C#采用的是“四舍六入五成双”、上取整、下取整
四舍六入五成双银行家算法的 PHP和Javascript实现
js中时间戳转换成时间格式
JS中的五种去重方法
(转载) js 单引号替换成双引号,双引号替换成单引号 操作
js中对象转化成字符串、数字或布尔值的转化规则
JS 中的五个假值
js 中日期 转换成时间戳 例如2013-08-30 转换为时间戳
js中时间戳转化成时间格式
js中字符串处理成数字的方法
js中时间戳转换成xxxx-xx-xx xx:xx:xx类型日期格式的做法
JS中toFixed()方法的问题及解决方案
js中toFixed精度问题的解决办法
JS中令人发指的valueOf方法介绍
jsp中的js中获取项目路径的方法
js中int和string数据类型互相转化实例
js中style.display=""无效的解决方法
JS中的日期内置函数