JS 控制小數(shù)位數(shù)的實現(xiàn)代碼
更新時間:2011年08月02日 23:23:08 作者:
上網(wǎng)查一查的確存在這種Bug,除了位數(shù)上控制之外也沒什么也好的方法(希望高手能提出其它思路)。
昨天在用JS對前臺浮點數(shù)進行合算時發(fā)現(xiàn):
0.05+1.08=1.1300000000000001
上網(wǎng)查一查的確存在這種Bug,除了位數(shù)上控制之外也沒什么也好的方法(希望高手能提出
其它思路)。
于是自己編寫一個控制小數(shù)位數(shù)的JS方法,解決開發(fā)燃眉之急
//小數(shù)位數(shù)控制,可以四舍五入
function Fractional(n) {
//小數(shù)保留位數(shù)
var bit = 2;
//加上小數(shù)點后要擴充1位
bit++;
//數(shù)字轉為字符串
n = n.toString();
//獲取小數(shù)點位置
var point = n.indexOf('.');
//n的長度大于保留位數(shù)長度
if (n.length > point + bit) {
//保留小數(shù)后一位是否大于4,大于4進位
if (parseInt(n.substring(point + bit, point + bit + 1)) > 4) {
return n.substring(0, point) + "." + (parseInt(n.substring(point + 1, point + bit)) + 1);
}
else {
return n.substring(0, point) + n.substring(point, point + bit);
}
}
return n;
}
0.05+1.08=1.1300000000000001
上網(wǎng)查一查的確存在這種Bug,除了位數(shù)上控制之外也沒什么也好的方法(希望高手能提出
其它思路)。
于是自己編寫一個控制小數(shù)位數(shù)的JS方法,解決開發(fā)燃眉之急
復制代碼 代碼如下:
//小數(shù)位數(shù)控制,可以四舍五入
function Fractional(n) {
//小數(shù)保留位數(shù)
var bit = 2;
//加上小數(shù)點后要擴充1位
bit++;
//數(shù)字轉為字符串
n = n.toString();
//獲取小數(shù)點位置
var point = n.indexOf('.');
//n的長度大于保留位數(shù)長度
if (n.length > point + bit) {
//保留小數(shù)后一位是否大于4,大于4進位
if (parseInt(n.substring(point + bit, point + bit + 1)) > 4) {
return n.substring(0, point) + "." + (parseInt(n.substring(point + 1, point + bit)) + 1);
}
else {
return n.substring(0, point) + n.substring(point, point + bit);
}
}
return n;
}
相關文章
詳解webpack之scss和postcss-loader的配置
本篇文章主要介紹了詳解webpack之scss和postcss-loader的配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01JS 滾動事件window.onscroll與position:fixed寫兼容IE6的回到頂部組件
這篇文章主要介紹了JS 滾動事件window.onscroll與position:fixed寫兼容IE6的回到頂部組件的相關資料,需要的朋友可以參考下2016-10-10JS定時器使用,定時定點,固定時刻,循環(huán)執(zhí)行詳解
下面小編就為大家?guī)硪黄狫S定時器使用,定時定點,固定時刻,循環(huán)執(zhí)行詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05