toFixed()和toLocaleString()无法同时使用,最终结果不理想
toLocaleString()将数字转换为带千分位的字符串格式toFixed(2) 将数字转化为保留两位小数的字符串格式var number123,456.899 没有保留2位小数number.toLocaleString().toFixed(2) //123,456.899 没有保留2位小数number.toFixed(2)r.toLocaleString() // 123,456.89 没有千分位原因以上两种方式都在第一次转换时已经成为字符串了无法正确应用第二次转换应该在toFix后将结果先转换为数字形式再调用toLocaleString或使用正则.toFixed(2).replace(/\B(?(\d{3})(?!\d))/g, ,)注意toFixed的修约舍入规则并不是“四舍五入”而是“四舍六入五成双”也即“4舍6入5凑偶”。这里“四”是指≤4 时舍去六是指≥6时进上五指的是根据5后面的数字来定当5后有有效数字不为0时舍5入1当5后无有效数字时需要分两种情况来讲①5前为奇数舍5入1②5前为偶数舍5不进。0是偶数可以使用Math.round()将数字放大一定倍数后处理function round(number, precision) {return Math.round(number e precision) / Math.pow(10, precision);}round(1.235, 2) //1.24round(1.355, 2) //1.36
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2554015.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!