Javascript 函數(shù)parseInt()轉(zhuǎn)換時(shí)出現(xiàn)bug問題
更新時(shí)間:2014年05月20日 17:23:33 作者:
天測試的測出來的。parseInt(1.13*100),實(shí)際返回值是112,下面有個(gè)示例,大家可以看看下
這是一個(gè)很詭異的事情,今天測試的測出來的。parseInt(1.13*100),實(shí)際返回值是112。直接看代碼吧
<head>
<script type="text/javascript">
function test(){
var thisvalue = 0;
thisvalue=yuanToFen($("#inp").val());
alert(thisvalue);
}
/*元轉(zhuǎn)分*/
function yuanToFen(yuan){
return parseInt(yuan*100,10);//解決方法:將 此處返回改為:parseInt(yuan*1000,10)/10;
}
</script>
</head>
<body>
<div>
<input type="text" id="inp" name="pl" value="1.14"/><!-- 當(dāng)輸入值是:1.13、1.14、1.15、1.16時(shí),此bug才會(huì)出現(xiàn),其他數(shù)據(jù)目前沒有發(fā)現(xiàn)有此bug -->
<input type="button" name="ok" value="確認(rèn)" onclick="test();"/>
</div>
</body>
</html>
當(dāng)執(zhí)行以上代碼時(shí),你會(huì)發(fā)現(xiàn),當(dāng)你輸入1.13-1.16這期間的數(shù)字時(shí),比如輸入了1.13,但是alert出來的值卻是1.12,同樣,輸入是1.16則alert出1.15.
但是當(dāng)輸入2.13、3.13、0.13都不會(huì)出現(xiàn)這樣的情況。
此bug對(duì)于最做賬的業(yè)務(wù)來說尤其重要。
例如:你要給某某人匯款,匯款單位是(億元),你匯款1.13個(gè)億,結(jié)果實(shí)際成了1.12個(gè)億。哈哈。開個(gè)玩笑。但是程序是講究嚴(yán)謹(jǐn),不管是一分錢還是零點(diǎn)零一分錢是誰的就是誰的,千萬不能馬虎。
復(fù)制代碼 代碼如下:
<head>
<script type="text/javascript">
function test(){
var thisvalue = 0;
thisvalue=yuanToFen($("#inp").val());
alert(thisvalue);
}
/*元轉(zhuǎn)分*/
function yuanToFen(yuan){
return parseInt(yuan*100,10);//解決方法:將 此處返回改為:parseInt(yuan*1000,10)/10;
}
</script>
</head>
<body>
<div>
<input type="text" id="inp" name="pl" value="1.14"/><!-- 當(dāng)輸入值是:1.13、1.14、1.15、1.16時(shí),此bug才會(huì)出現(xiàn),其他數(shù)據(jù)目前沒有發(fā)現(xiàn)有此bug -->
<input type="button" name="ok" value="確認(rèn)" onclick="test();"/>
</div>
</body>
</html>
當(dāng)執(zhí)行以上代碼時(shí),你會(huì)發(fā)現(xiàn),當(dāng)你輸入1.13-1.16這期間的數(shù)字時(shí),比如輸入了1.13,但是alert出來的值卻是1.12,同樣,輸入是1.16則alert出1.15.
但是當(dāng)輸入2.13、3.13、0.13都不會(huì)出現(xiàn)這樣的情況。
此bug對(duì)于最做賬的業(yè)務(wù)來說尤其重要。
例如:你要給某某人匯款,匯款單位是(億元),你匯款1.13個(gè)億,結(jié)果實(shí)際成了1.12個(gè)億。哈哈。開個(gè)玩笑。但是程序是講究嚴(yán)謹(jǐn),不管是一分錢還是零點(diǎn)零一分錢是誰的就是誰的,千萬不能馬虎。
相關(guān)文章
layui.js實(shí)現(xiàn)的表單驗(yàn)證功能示例
這篇文章主要介紹了layui.js實(shí)現(xiàn)的表單驗(yàn)證功能,結(jié)合實(shí)例形式分析了基于layui.js的事件監(jiān)聽、驗(yàn)證、判定等相關(guān)操作技巧,需要的朋友可以參考下2017-11-11js從數(shù)組中刪除指定值(不是指定位置)的元素實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄猨s從數(shù)組中刪除指定值(不是指定位置)的元素實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09處理文本部分內(nèi)容的TextRange對(duì)象應(yīng)用實(shí)例
TextRange是用來表現(xiàn)HTML元素中文字的對(duì)象,是一個(gè)用于處理JavaScript對(duì)象文本部分內(nèi)容的一個(gè)對(duì)象2014-07-07Javascript Bootstrap的網(wǎng)格系統(tǒng),導(dǎo)航欄和輪播詳解
這篇文章主要為大家介紹了Javascript Bootstrap的網(wǎng)格系統(tǒng),導(dǎo)航欄和輪播,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11three.js中g(shù)sap動(dòng)畫庫實(shí)現(xiàn)物體的動(dòng)畫
本文主要介紹了three.js中g(shù)sap動(dòng)畫庫實(shí)現(xiàn)物體的動(dòng)畫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07