JS 控制小數(shù)位數(shù)的實(shí)現(xiàn)代碼
更新時(shí)間:2011年08月02日 23:23:08 作者:
上網(wǎng)查一查的確存在這種Bug,除了位數(shù)上控制之外也沒(méi)什么也好的方法(希望高手能提出其它思路)。
昨天在用JS對(duì)前臺(tái)浮點(diǎn)數(shù)進(jìn)行合算時(shí)發(fā)現(xiàn):
0.05+1.08=1.1300000000000001
上網(wǎng)查一查的確存在這種Bug,除了位數(shù)上控制之外也沒(méi)什么也好的方法(希望高手能提出
其它思路)。
于是自己編寫一個(gè)控制小數(shù)位數(shù)的JS方法,解決開發(fā)燃眉之急
//小數(shù)位數(shù)控制,可以四舍五入
function Fractional(n) {
//小數(shù)保留位數(shù)
var bit = 2;
//加上小數(shù)點(diǎn)后要擴(kuò)充1位
bit++;
//數(shù)字轉(zhuǎn)為字符串
n = n.toString();
//獲取小數(shù)點(diǎn)位置
var point = n.indexOf('.');
//n的長(zhǎng)度大于保留位數(shù)長(zhǎng)度
if (n.length > point + bit) {
//保留小數(shù)后一位是否大于4,大于4進(jìn)位
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ù)上控制之外也沒(méi)什么也好的方法(希望高手能提出
其它思路)。
于是自己編寫一個(gè)控制小數(shù)位數(shù)的JS方法,解決開發(fā)燃眉之急
復(fù)制代碼 代碼如下:
//小數(shù)位數(shù)控制,可以四舍五入
function Fractional(n) {
//小數(shù)保留位數(shù)
var bit = 2;
//加上小數(shù)點(diǎn)后要擴(kuò)充1位
bit++;
//數(shù)字轉(zhuǎn)為字符串
n = n.toString();
//獲取小數(shù)點(diǎn)位置
var point = n.indexOf('.');
//n的長(zhǎng)度大于保留位數(shù)長(zhǎng)度
if (n.length > point + bit) {
//保留小數(shù)后一位是否大于4,大于4進(jìn)位
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;
}
您可能感興趣的文章:
- javascript避免數(shù)字計(jì)算精度誤差的方法詳解
- js計(jì)算精度問(wèn)題小結(jié)
- PHP四舍五入精確小數(shù)位及取整
- C# 小數(shù)位數(shù)保留的方法集錦
- C# double和decimal數(shù)據(jù)類型以截?cái)嗟姆绞奖A糁付ǖ男?shù)位數(shù)
- 用js格式化金額可設(shè)置保留的小數(shù)位數(shù)
- python通過(guò)floor函數(shù)舍棄小數(shù)位的方法
- 關(guān)于數(shù)據(jù)庫(kù)中保留小數(shù)位的問(wèn)題
- java小數(shù)位的例子
- java精度計(jì)算代碼 java指定精確小數(shù)位
相關(guān)文章
JavaScript:Div層拖動(dòng)效果實(shí)例代碼
這篇文章介紹了JavaScript:Div層拖動(dòng)效果實(shí)例代碼,有需要的朋友可以參考一下2013-08-08
js、jquery實(shí)現(xiàn)列表模糊搜索功能過(guò)程解析
這篇文章主要介紹了js、jquery實(shí)現(xiàn)列表模糊搜索功能過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
JS事件Event元素(兼容IE,Firefox,Chorme)
今天,想聊聊JS事件對(duì)象。相信大家對(duì)于獲得激發(fā)JS事件的原對(duì)象的理解,有的人可能簡(jiǎn)單停留在IE上。也就是window.event這個(gè)對(duì)象2012-11-11
點(diǎn)擊單元格后可編輯單元格內(nèi)文本如何制作
點(diǎn)擊單元格后可編輯單元格內(nèi)文本如何制作...2006-10-10
BootStrap Table前臺(tái)和后臺(tái)分頁(yè)對(duì)JSON格式的要求
Bootstrap是一款前端非常流行的框架,其中的表格更為大家經(jīng)常使用。下面通過(guò)本文給大家介紹BootStrap Table前臺(tái)和后臺(tái)分頁(yè)對(duì)JSON格式的要求,一起看看吧2017-06-06
《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記五:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)工廠模式實(shí)例分析
這篇文章主要介紹了Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)工廠模式,結(jié)合實(shí)例形式分析了《javascript設(shè)計(jì)模式》中Javascript面向?qū)ο蠊S模式相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
JavaScript實(shí)現(xiàn)秒殺時(shí)鐘倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)秒殺時(shí)鐘倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
在 JavaScript 中管理 Token 的最佳實(shí)踐記錄
文章介紹了在JavaScript中管理Token的最佳實(shí)踐,包括Token的作用、存儲(chǔ)方式、代碼實(shí)現(xiàn)和安全性考慮,通過(guò)示例代碼,展示了如何在不同環(huán)境中動(dòng)態(tài)設(shè)置Token作用域,并提供了安全存儲(chǔ)和保護(hù)Token的方法2024-11-11

