一、我們首先從經(jīng)典的“四舍五入”算法講起
成都創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注做網(wǎng)站、網(wǎng)站制作、網(wǎng)站營銷推廣,國際域名空間,網(wǎng)站空間,網(wǎng)站托管、服務(wù)器租用有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請聯(lián)系成都創(chuàng)新互聯(lián)公司。
1、四舍五入的情況
2、不四舍五入
第一種,先把小數(shù)邊整數(shù):
第二種,當(dāng)作字符串,使用正則匹配:
注意:如果是負(fù)數(shù),請先轉(zhuǎn)換為正數(shù)再計(jì)算,最后轉(zhuǎn)回負(fù)數(shù)
再分享一個經(jīng)典的解決四舍五入問題后js保留兩位小數(shù)的方法:
//四舍五入保留2位小數(shù)(若第二位小數(shù)為0,則保留一位小數(shù))
javascript是弱語言類型,就是說除了基本類型和預(yù)定義的類型,所有的變量類型只有一種var,即可以表示字符串、浮點(diǎn)數(shù),整數(shù),對象,數(shù)組。
可以聲明變量如下:
var intVar = 1; 整型
var floatVar = 1.0; 浮點(diǎn)型
var arrayVar = new Array(); //或者 var arrayVar = []; 數(shù)組
var objectVar = new obejct(); //或者var objectVar = {}; //對象
var strVar = ''; //或者 var strVar = ""; 字符串
保留兩位小數(shù)的方法是在數(shù)值或數(shù)值變量后加.toFixed(2),就行了.
完整的thirdoder函數(shù)如下(改動的地方見注釋)
function thirdoder()
{
if((document.third.rh.value = 0 ) || (document.third.rl.value = 0 ) || (document.third.fc.value = 0 ))
{
alert("請輸入條件");
}
else
{
rl = eval(document.third.rl.value);
rh = eval(document.third.rh.value);
fc = eval(document.third.fc.value);
document.third.c1.value = eval((.1061/(rh*fc))*1000000).toFixed(2);//這里改一下
document.third.c2.value = eval((.3183/(rh*fc))*1000000).toFixed(2);//這里改一下
document.third.c3.value = eval((.2122/(rl*fc))*1000000).toFixed(2);//這里改一下
document.third.l1.value = eval(( .1194*rh/fc)*1000).toFixed(2);//這里改一下
document.third.l2.value = eval(( .2387*rl/fc)*1000).toFixed(2);//這里改一下
document.third.l3.value = eval(( .0796*rl/fc)*1000).toFixed(2);//這里改一下
}
}
可以轉(zhuǎn)換為整數(shù)parseInt(number)和原來的數(shù)比較。
也可以轉(zhuǎn)換成字符串判斷。
var str =?number+"";
if(str.indexOf(".")==-1){
alert("整數(shù)")
}else{
alert("小數(shù)");
}
擴(kuò)展資料:
判斷是否數(shù)字
function isNumber(str){
var n = Number(str);
if (!isNaN(n)){
return true;
}else{
return false;
}
}
判斷是否對象
function isObj(obj){
if(typeof obj=="object"){
return true;
}else{
return false;
}
}
判斷是否為空
function emptyFun(obj){
var obj=obj;
if(obj==""||obj==null||obj==undefined||obj=="null"||obj=="undefined"){
return true;
}else{
return false;
}
}
獲取地址欄參數(shù)
function GetQueryString(name){
var reg = new RegExp("(^|)"+ name +"=([^]*)(|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return ?unescape(r[2]); return null;
}
js中提供了對應(yīng)的函數(shù),即toFixed(n)方法。參數(shù)n表示要保留幾位小數(shù)。
比如:
var?a?=123.456789;
alert(a.toFixed(4));//?四舍五入保留四位小數(shù)
//?將num四舍五入并截取n位小數(shù)。
getResult(num,n)?{
return?num.toFixed(n);
}
注意:
當(dāng)?n 太小或太大時(shí)拋出異常?RangeError。正常范圍是[0,20]。
當(dāng)調(diào)用該方法的對象不是?Number?時(shí)拋出?TypeError?異常。
本文名稱:javascript小數(shù),JavaScript小數(shù)不精準(zhǔn)
文章源于:http://jinyejixie.com/article2/dsdgiic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站內(nèi)鏈、網(wǎng)站維護(hù)、企業(yè)建站、外貿(mào)建站、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)